PHP関連のことを調べてみた2021年10月06日

PHP関連のことを調べてみた2021年10月06日

PHP ぼくのかんがえたさいきょうの、NULLやブランクや配列数0の時にTRUEを返す関数、その名はisNULL

## 概要

NULLやブランクや配列数0の時にTRUEを返す関数です。テストもありまぁす。

## isNULLの仕様

### (第二引数がNULLの時、)第一引数の値と戻り値の関係

|第一引数の値|戻り値|
|–|–|
|null|TRUE|
|文字 – 空|TRUE|
|文字 – 1文字以上|false|
|数値(0も含めて)|false|
|配列 – 個数0|TRUE|
|配列 – 個数1以上|false|
|空オブジェクト|TRUE|

### 第一引数がオブジェクトで第二引数がプロパティ名の時(もしくは配列とキー名)

|プロパティが|動作|
|–|–|
|存在しない|TRUE(*__getがあれば呼び出す)|
|存在する|値をisNULL再帰呼び出しで判定|

## isNULL

“`PHP
/**
* @param mixed $val
* @param string $key
* @return bool
*/
function isNULL($val, $key = null) {

if (! isset($val)) {

元記事を表示

Laravel6でLaravel-Adminをインストール後、migrateできているのに、Laravel-Adminにログインできない

# 状況
– Laravelプロジェクトをインストール
– envファイル編集
– `php artisan migrate` 成功
– Laravel-Adminをインストール
– `php artisan serve` でサーバー起動
– `127.0.0.1:8000/admin` にアクセス後ID PASS入力
– ログインできず、なぜかenvファイルを確認してくれと表示される

環境
サーバー:Windws WSL
DB:AWS RDB(8.x)

# 解決方法
`php artisan config:cache`
でキャッシュをクリア

これだけでした。

元記事を表示

【PHP】全角半角の混合文字列を削除

“`PHP

元記事を表示

【Laravel】エラーメッセージの日本語ファイルの用意をコマンドラインで。

Laravelではエラーメッセージを簡単に表示させる機能があるのでとても便利です。

:::note alert
タイトルは必ず指定してください。
:::

↑みたいなやつです!

いつも、エラーメッセージの日本語ファイル公式ページからコピペしていたのですが、コマンドラインでやる方法を見つけたので、共有します。

## コマンドでのエラーメッセージの日本語ファイルの用意

“`bash
$ php -r “copy(‘https://readouble.com/laravel/8.x/ja/install-ja-lang-files.php’, ‘install-ja-lang.php’);”
$ php -f install-ja-lang.php
$ php -r “unlink(‘install-ja-lang.php’);”
“`
laravel6やlaravel7の場合は`8.x`の部分を変更してください。
実行後は、`resources/lang/ja/`配下にエラーメッセージの日本語ファイルが作成されています。

– auth.php
– pagination.php

元記事を表示

【PHP】$_SERVER[‘HTTP_REFERER’]リファラを使用してアクセス元によって処理を振り分ける

## $_SERVER[‘HTTP_REFERER’]とは

**$_SERVER**とはPHPのスーパーグローバル変数でサーバ情報および実行時の環境情報が入っています。

**HTTP_REFERER**は$_SERVERで取得できるインデックスのひとつで現在のページに遷移する前にユーザーエージェントが参照していたページのアドレスを取得することができます。

以下のコードでHTTP_REFERERを取得します。

“`php
$_SERVER[‘HTTP_REFERER’]
“`

ただし、リファラは確実に取得できるものではないので注意が必要です。

## アクセス元によって処理を分ける

`$_SERVER[‘HTTP_REFERER’]` を使ってチェックしたいURLによって処理を振り分けます。

“`php
// リファラーの取得(セットされていない場合はnull)
$referer = isset($_SERVER[‘HTTP_REFERER’]) ? $_SERVER[‘HTTP_REFERER’] : ‘null’;

if (preg_match(“/チェックした

元記事を表示

WordPressの投稿記事・固定ページ本文中にショートコードでテーマ内のphpを呼び出す

#PHPファイルを読み込むショートコード
function.phpに以下を追加

“`
function my_tmp_code($atts) {
extract(shortcode_atts(array(‘file’ => ‘default’), $atts));
ob_start();
include(STYLESHEETPATH . “/$file.php”);
return ob_get_clean();
}
add_shortcode(‘my_tmp’, ‘my_tmp_code’);
“`

#本文で呼び出すときのコード
“`
[my_tmp file=’ここにテーマ内のphp名(phpを除く’]
“`

元記事を表示

PHPで10文字以上の文章なら…をにする

##PHPで10文字以上の文章なら…をにする方法

“`PHP

//整形したい文字列
$textLimits = $val [“TITLE”];
//文字数の上限
$limit = 10;

// 文字数10以上ならば、…に変換 
if(mb_strlen($textLimits) > $limit) {
$title = mb_substr($textLimits,0,$limit);
echo $title. “…” .”” ;
} else {
echo $textLimits. ““;
}

//整形したい文字列
$textLimits = $val [“TITLE”];
//文字幅の上限
$limit = 10;

// 文字幅が10以上ならば、…に変換 半角が1 全角が2
if(mb_strwidth($textLimits) > $limit) {
// 文字列を文字幅上限に丸める
$title = mb_s

元記事を表示

PHPでHELLO

“`PHP

元記事を表示

バッファリングで取得した改行を含むCSVファイルを配列へ

CSVファイルの読み込み⇒処理は、改行区切りで配列化するので、値に改行を含むと変なことになります。
新人が悩んでいたので、私も一緒に悩みました、確かに一筋縄ではいかないような…
##こういうCSVファイルのデータを
![csv00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/458322/5935d286-2523-3f53-4711-ed093a6ec9fd.png)
HTMLフォームから送信して、
##バッファリングして取得すると

“`php

“`

##なぜか改行を含む値は ” で囲まれる

“`csv
“a-1 a-2 a-3”,b,c,
“`

それが原因かは不明ですが、「PHP CSV 改行」と検索して出てくる先人の解決策は、上手く

元記事を表示

【第五回】コロナ禍だから何かできることをー 自宅療養者連絡ツール ー

#前回までのあらすじ
[【第四回】コロナ禍だから何かできることを](https://qiita.com/STYLE-D/items/8af17d7f94f5c351ede0)

####実装イメージ図
LINEを利用して保健所の担当者の負担を軽減するとともに、自宅療養者はいつでもつながっている安心感を持たせるためのツールイメージです。
![メイン.00_00_51_12.Still002.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/744261/cf85391e-aef8-5a59-0a1d-63d8e15412ce.jpeg)

##ユーザー登録の仕組みを作ろう
![システム構成-ユーザー登録.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/744261/a834c741-8adf-06af-6c5b-a5ce167aa55a.jpeg)

LINE Developers
[LIFFアプリを開発する](https://

元記事を表示

PHPConference2021に初参加しました。

PHPConference2021に初参加しました。
こういったイベント毎に参加したこと自体が初めてで不安な部分は大きかったですが、参加してよかったです!

##参加した経緯
参加した経緯はLINEのオープンチャットでmukakenさんが今回のイベントの告知をしてくださっており、もともとPHPが大好きなのでもっと勉強したい!と思い参加しました。

##始まってみると
始まってみると一人で何も分からず参加したのでボイスチャットに入ってもいいのか分からず、どうしようかあたふたしてました。

少しして、koyhoheさんが雑談しようという書き込みをしていたので、’ここは入っていいんだ’と分かり試しに入ってみました。入ってみたはいいものの、どうしようかと迷っていると声をかけてくださり、自然と話せる空気を作ってくださり、なんとか話すことができました!

ここで勇気を出して声を出したことで、koyhogeさんやちゃちいさんと知り合う事ができましたし、そこから様々な人と知り合う切っ掛けになりました!

##内容について
学校ではPHPはそこそこできるつもりだったので、分かるかな?と思っていましたが、

元記事を表示

thisを使う!!

▪️ thisとは
 PHPでスコープ外で定義された変数を利用するための擬似変数。
 簡単に言うなら英語の省略に近いイメージ。

例えば、あなたは長い映画を見るのが好きですか?と聞かれ、私は長い映画を見るのが好きです。と答えているとめんどくさいと思います。
好きです!と省略したいですよね?
その感覚で使うのがthisになります!

<書き方>
下記のようになる:writing_hand_tone2:

public class Monster {
int hp = 100;
int mp = 20;
Monster(int hp ,int mp){
this.hp = hp;//1
this.mp = mp;
}

コード引用元:https://qiita.com/kajirikajiri/items/85b911688155f9fc251a

今日の投稿は以上です。

wagaでした!!

元記事を表示

文字列から数字だけを取り出すor消す

いつもググってた
ttp://djcase.jp/app/mywiki/post/172
に有った記事のコピーです
どうもサイトがなくなってしまったようで・・(泣)

#文字列から数字だけを取り出すor消す
##数字のみを「消す」場合

“`
$target = ‘アッカリーン0120はーい!0930’;
$target = preg_replace(“/[0-9]/”, “”, $target);
echo $target;
“`

上記の結果は

“`
アッカリーンはーい!
“`

正規表現を使って置換できるpreg_replaceを使用。[0-9]は「0から9までの数字」という意味。

$targetに対して「0から9までの数字」を空文字で置換(=消す)している。

preg_replace関数について
https://www.php.net/manual/ja/function.preg-replace.php

##数字のみを「取り出す」場合

“`
$target = ‘アッカリーン0120はーい!0930’;
$target = preg_replace(“/

元記事を表示

プログラミング歴半年で作った顧客満足度100%のサービス

#はじめに

##### ※ご覧いただいている全ての方へ
記事の内容が良かったと思ってくれた方はLGTMしてくれたら嬉しいです。

##### ※採用担当者様へ
この記事は僕が今後スケール・収益化していく予定のサービスについての解説、ならびにサービスを開発することについての熱意を記したものとなっております。

この記事を読んでいただくことで、今回作成したサービスが転職のためだけに作ったポートフォリオではないことや、僕がエンジニアという職業に転職することにどの程度の覚悟を持って臨んでいるのかを感じとっていただけたら、とても嬉しく思います。

補足ですが、将来的なフリーランスへの転向などは一切考えておりませんのでご安心ください。

私の熱意を買っていただける方がいらっしゃいましたら、ぜひ、ご連絡お待ちしております。

Twitterアカウント:https://twitter.com/kzk_engineer
メールアドレス:sucness@gmail.com

#目次
[1.このアプリの開発者について](#1-このアプリの開発者について)
[2.アプリの概要](#2-アプリの概要)
[3.

元記事を表示

【PHP8.1】PHP8.1で削除される機能

Nikitaをはじめとする一部のstrictぺちぱー達は、PHPのレガシー機能の削除に[熱心に](https://qiita.com/rana_kualu/items/db1ce401df627c46544a)[取り](https://wiki.php.net/rfc/deprecations_php_7_4)[組ん](https://wiki.php.net/rfc/deprecations_php_7_3)[でい](https://wiki.php.net/rfc/deprecations_php_7_2)[ます](https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7)。
まあ実際、初期のPHPには特にですが、いったいなんでこんなものをという思い付きのような機能がたくさんありましたからね。

そのあたりはPHP7からPHP8.0にかけてだいぶ綺麗に片付けられてきたのですが、まだまだおかしなものも残っています。
そんなわけで以下は、それらを削除しようというRFC、[Deprecations for PHP 8

元記事を表示

PHP Conference Japan 2021に登壇しました。

## はじめに

[PHP Conference Japan 2021](https://phpcon.php.gr.jp/2021/)というイベントに参加・登壇してきました!
僕が所属している[Hamee株式会社](https://recruit.hamee.co.jp/)は本イベントのスポンサーをしており、弊社からも何名か登壇しておりました。
(茶室のCMの会社です!)

## 登壇

以前にbuilderscon tokyo 2019にて飛び込みLTの発表はしたことがありましたが
プロポーザル採択による登壇は初めてでした。
(ポコン プロポーザル採択による登壇の実績を解除しました٩( ‘ω’ )و)
社内での勉強会でも散々登壇しているのでそこまで緊張することはなかったですが、LTの控室zoomで待ってる間はさすがにちょっと緊張しました。
発表資料はこちらです。

https://speakerdeck.com/yamamotohiroya/kanhuarensuhahuidobatukugada-shi

フィードバックの大切さを伝えるために登壇してきました。
実行委員長が発表

元記事を表示

Laravelで画像を素材として使う時に、画像が出てこないときの対処法

Laravelで画像をHTMLファイルに読み込ませて使いたいと考えたのですが、やり方を知らなかったので、今ここで共有していきたいと思います。

### 現象
画像が入ったフォルダをviewファイルが有るフォルダに置いて、画像パスを指定したのに動かない。
というのがありました。
何度も何度も画像パスを確認していったのですが、うまく動きませんでした。

### 解決策

Laravel8系では、resourcesディレクトリに画像を入れておくと、表示されません。
わたしはresourcesディレクトリに素材の画像を入れて使おうとしていたのでどんなに画像パスが合っていても表示されないというわけですね。
resourcesのプログラムは、いったんコンパイルされてそれがpublickに反映されているので、ブラウザ上に反映させようとしたらpublickディレクトリに置かないといけないみたいです。
なので、publickディレクトリに画像フォルダを入れておくディレクトリを起きましょう。
そうしたら、resourcesディレクトリのHTMLファイルにパスを書けばきちんと反映されます。

皆さんよかった

元記事を表示

【PHP / Laravel】Storage の基本操作まとめ

## 対象読者

– Laravel の使用を考えている方
– Storageクラスについて基礎を抑えたい方
– Storageクラスの使用方法をざっくりでいいから知りたい方

## 環境

– Laravel 6系

## 目次
– [対象読者](#対象読者)
– [環境](#環境)
– [目次](#目次)
– [Storageクラスとは](#storageクラスとは)
– [storageクラスの設定ファイル](#storageクラスの設定ファイル)
– [ディスクとは](#ディスクとは)
– [disk](#diskメソッド)
– [シンボリックリンクの作成](#シンボリックリンクの作成)
– [Storageクラスの使用](#storageクラスの使用)
– [ファイルの読み込み](#ファイルの読み込み)
– [get](#get)
– [ファイルの保存](#ファイルの保存)
– [put](#put)
– [putFile](#putfile)
– [putFileAs](#putfileas)
– [ファイルへ書き込み](#フ

元記事を表示

【PHP】PHPでスクレイピングをする

php-simple-html-dom-parserというライブラリを使う。

[https://sourceforge.net/projects/simplehtmldom/files/:embed:cite]

↑からライブラリをダウンロードしてプログラムを書くファイルと同じディレクトリに保存する。

“`php
find(“p”, 0)->plaintext);
“`

元記事を表示

【PHP】【メモ】文字列連結の「.」「,」の違い

echoは「.」「,」両方使える
printは「.」のみ使える

「.」は連結した結果を出力する
「,」は連結せずに順次出力する

「.」は連結してから出力するため、「,」よりもやや遅い。

元記事を表示

OTHERカテゴリの最新記事