php

LaravelのCollectionで複数のキーをもとに重複を排除する

公式でも記載されていますが、分かりづらいのでメモ。 下記の例では、brand + type の組み合わせに対して最初のアイテムだけを含む新しいコレクションを作成します。 $collection = collect([ ['name' => 'iPhone 6', 'brand' => 'Apple', 'type' => 'phone'…

PHPのマジックメソッド

php

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() および __debugInfo() があるみたい。 https://www.php.net/manual/ja/lang…

DomDocumentでXMLを出力したら<head/>タグが出る

php

simplexml_load_file()でXMLが読み込めないため調べてみると、XMLファイルの中に<head/>タグが含まれていていて、パースエラー起こしてた。 var_dump()すると出てないんだけど、printやechoすると表示される。 HTTPヘッダのContent-Typeをtext/xmlにしたら出なくな</head/>…

LaravelでJobをキューに追加する

PHPのフレームワークの雄であるLaravelで、非同期処理をJobで書いた後、動作確認を行いたいときがある。その場合、賢い皆様はテストコードを書いたり、ダミーのコントローラーを書いたりするのだろうが、いずれも面倒だ。今回は、Jobを対話的シェルのtinker…

PHPの対話シェル

php -aと打てば起動する。Rubyでいうirb的なやつ。 # php -a php > echo date('Y/n/j'); 2018/1/21 参考 PHP: 対話シェル - Manual

PHPでGETパラメータを追加したURLの取得法

php

現在のGETパラメータに対し、パラメータを追加・修正したURLが欲しい場合がある。例えば、ページネーションにおいて、次のページのリンクを作成したい場合などだ。 http_build_query(array_merge($_GET, array( 〈追加したいパラメータ〉))); 例 http_build_…

Wordpressのshortcodeで投稿最新リスト表示

function list_news() { $my_query = new WP_Query('showposts=10&orderby=date&order=DESC&post_status=publish'); $retHtml='<ul>'; while ($my_query->have_posts()) { $my_query->the_post(); $retHtml.= '<li>'. the_date('Y/m/d', '<span class="date">', '</span>', false). '<a href="'.get_permalink().'">'.the_t…</a></li></ul>

PHPで独自設定ファイルの参照と保存をしたい

php

例えばサイトのタイトル、デフォルト表示件数など、システム全体で利用するような設定を保存する際は悩ましい。DBに保存してもいいのだが、ごくごくライトな用途には、php.ini のようにiniファイルを作成して、age=10 のようにすると便利だろう。より詳細に…