今回は、前回作成したnginx + phpの環境にLaravelをインストールしてみます。 - [CentOS 7.5のf1-microインスタンスにnginx, php-fpm, php7.2環境を作る](https://akamist.com/blog/archives/3256) - [CentOS 7.5のf1-microインスタンスにswap領域を追...


PHPのfile_get_contents()では通常GETでリクエストを送信しますが、POSTでリクエストを投げたい場合があります。 このような場合はfile_get_contents()の第3引数を使えば良いです。 ```language-php


PHPでフォームに入力されたテキストを1行づつ処理させたい場合は、`str_replace()`と`explode()`関数を組み合わせると便利です ## サンプルプログラム 下記のプログラムは、GETパラメータで渡されたテキストを改行文字で区切って、1行づつ処理する...


[PHP]macにComposerをインストールする

2018年4月30日 | カテゴリ: composer
macOS上にcomposerをインストールするためには下記のコマンドを実行すれば良い。 ```language-bash php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09...


PHPのデプロイメントツールDeployerを実行すると下記のエラーが出る事があります。 ```language-bash $ dep deploy Deploy locked. Execute "dep deploy:unlock " to unlock. ``` ## 原因 Deployerはデプロイメントを実行時に多重実行されな...


Laravel5.5のコントローラー入門

2018年3月3日 | カテゴリ: Laravel
この記事では、PHPのフレームワークであるLaravelで、MVCのコントローラーについての基本を説明します。 ## コントローラの作成 Laravelでは、artisanの`make:controller`コマンドで、MVCのコントローラーに相当するクラスのひな型を作ることがで...


Laravel5.5のルーティング入門

2018年3月2日 | カテゴリ: Laravel
この記事では、PHPのフレームワークであるLaravelのルーティングの基本について説明します。 ## インストール直後のルーティング Laravelプロジェクトを作成した直後に`php artisan serve`コマンドを実行し、ブラウザからhttp://localhost:8000/へ...


Laravelのcomposer.jsonを見ていたら見つけたのでメモ。 以下のワンライナーPHPスクリプトで、.envというファイルが無かったら、ファイル".env.example"を.envにコピーすることができます。 ```language-php php -r "file_exists('.env') || copy('...


PHPフレームワークのLaravelをWindows環境で使っていて、php artisan serveコマンドを実行すると下記のエラーが出て起動できなかったので、確認&対処した結果を書いておきます。 ## 出力されたエラー `php artisan serve`コマンドで起動させようと...


PHPのパッケージ管理はComposerの登場によって劇的に改善されましたが、Composerは依存関係を解決するのに非常に時間がかかり、パッケージインストール時にパフォーマンスの問題を引き起こすことが有ります。 Composerの性能向上に関するTIpsがhax0r(...


先ほど、ふとファイル内に"<?PHP"だけの文字列だけを含むphpスクリプトを実行してみた。 すると、スクリプトの出力に"<?PHP"という文字自体が出力されたので、気になって調べてみた。 (本記事は、諸事情によって"<?PHP"を全角で書いて...


Quizletで管理されている単語帳をExcelに出力したかったため、PHPのGoutteパッケージを使用してtsv形式に変換するスクリプトを作成しました。 ※PHPでGoutteパッケージの使い方自体は、[こちらの記事](https://akamist.com/blog/archives/1700)を参考に...


今回は、PHPのスクレイピングライブラリであるGoutteを使用して、指定したURLに対するWebページのタイトルを取得してみます。 ## Goutteパッケージのインストール Goutteパッケージはcoposerのfabpot/goutteパッケージとして提供されています。 c...


PHPでComposerを使用した外部パッケージ管理を行っているとき、`composer update`コマンドを使用することで、パッケージのバージョンアップをまとめて行うことができます。 ですが、テストの都合などで全てのパッケージを一度に最新にせず、特定パッケ...


最近のPHPプロジェクトでは、外部ライブラリを管理するのにComposerを利用することが多いです。 Composerを利用とバージョンや依存関係の自動解決などを自動に行ってくれるため非常に便利ですが、Composerではパッケージを自由に登録できるため、予期せ...


LaravelでORマッパーとして、Eloquentを使用ている場合、タイムゾーンを変更するには、config/app.phpのtimezoneを'UTC'から'Asia/Tokyo'に変更すれば、DBに登録される時刻がJSTになります。 ですが、Laravelを使わずに、Composerを使ってilluminate/da...


PHPのフレームワークLaravelに付属のEloquentでは、デフォルトでデータの登録・更新時刻をそれぞれ、created_at, updated_at列で管理してくれます。 通常はこれで問題ないのですが、履歴テーブルのようにデータの登録だけが行われ、更新されない事が事...


PHPのフレームワークであるLaravelでは、DBアクセスを行うのにEloquentやQueryBuilderという便利なモジュールがあります。 ですが、プロジェクトによってはLaravel以外のマイクロフレームワークや、フレームワークなしの環境だけども、ORマッパーのEloq...


[PHP]Eloquentで日付に関する列定義の命名規則

2017年11月13日 | カテゴリ: PHP | タグ: ,
PHPのORマッパーであるEloquentでは、データの登録時刻・更新時刻と、データの論理削除(SoftDelete)を行うときの削除時刻を自動で更新してくれる便利な機能があります。 今回は、これらの機能を最小の手間で(=Eloquentのデフォルト設定で)利用するため...


PHPのSlim3フレームワークでslim/twig-viewパッケージを使用時、*.twigのビューファイルを変更してもブラウザで表示したときに変更内容が反映されないときがあります。これは、twigがビューのファイルを*.phpに変換した結果をキャッシュしており、元の*.tw...


PHPでルーティングを行うパッケージであるnikic/FastRouteパッケージを利用して、controller-actionスタイルのルーティングを行う方法を説明します。 nikic/FastRouteパッケージは、PHP本体の開発者であるNikitaさんが開発していて、Slim3 Framework...


PHPのマイクロフレームワークであるSlim Frameworkのバージョン3.9.0が、2017/11/04にリリースされました。バージョン3.9.0での変更点は主に不具合修正で、以下のような修正が行われています。 - Requestオブジェクトに任意のHTTPメソッド名を使用でき...


この記事では、PHPでHttp通信を行うためのコンポーネントである、Guzzleを使うための手順を説明します。PHPに慣れていない人のために、PHPのパッケージマネージャであるcomposerのインストールから説明しています。 ### 確認環境環境のインストール 今...


PHPのプログラムを実行するとUnexpected T_STRINGエラーが出る場合があります。 このエラーが出た場合にチェックするポイントを説明します。 ## エラーが出た場所を確認する 以下のようにエラーが出るので、まずはこのエラーメッセージよりエラーが...


PHPのSlim3 Frameworkでcookieを管理するためのクラスです。 stackoverflowにあったコードを元に一部改修してます。 https://stackoverflow.com/questions/35257522/slim-3-framework-cookies ```language-php


Slim3 FrameworkでPDOを使用したDBアクセスを行いたい場合があります。 Slim3では、システム全体で使用するオブジェクトの管理をDIコンテナに任せることができる為、DIコンテナ経由でPDOオブジェクトの取得を行う方がスマートです。 下記は、PDOオブ...


PHPのマイクロフレームワークである、Slim3 Frameworkでクライアントから渡された、GET/POSTパラメータを受け取る方法はいくつかの方法があります。 まずは以下の方法で、すべてのパラメータを配列として取得できます。 ```language-php $paramValue ...