PHP

PHPでその月の最初の月曜日を取得するときの注意点

PHP

PHPで日時処理を行うDateTimeクラスやDateTimeImmutableクラスのmodify()メソッドでは相対的な書式と呼ばれる記述が可能。これが意外と便利。 例えば、3日後の日付を取得しようとした場合、次のような記述が可能。 $now = new DateTimeImmutable(); $threeDa…

コントローラクラスメソッド内でPhpSpreadsheetを使う際の注意点

PHP

Slimのコントローラクラスメソッド内で、PhpSpreadsheetを使ってエクセルファイルを生成し、それをダウンロードさせるコードの場合、注意が必要だ。通常、コントローラクラスメソッドでは、ResponseInterfaceオブジェクトをリターンする必要がある。そのつも…

Composerで環境チェックを無視

PHP

現在開発中のPHPシステムの開発環境を別のMacに作ろうとしたときに、composerコマンドで少し困った問題が発生。 システム自体はMac上でコーディングしているが、それが実際に動作しているのはVagrantで構築したLinux仮想環境。もちろん、Mac上のプロジェクト…

phpMyAdminのログインループ

phpMyAdminのログイン画面でログインしようとすると、先に進まずにずっとログイン画面が表示されてしまう。 あ、いや、MySQLへのアクセスは、コマンドかMySQL Workbenchを使うので、普段はphpMyAdminを全く使わない(除くレン鯖)のだからいいのだけど、授業で…

CakePHPのupdateAll()でDATE型の注意点

PHP

CakePHP1.3でupdateAllメソッドを使っていて、少しはまったのでメモ。 通常は $updateAllFields= array('field1'=>1, 'field2'=>3, 'last_updated'=>date('Y-m-d')); $updateAllCondition= array('field4'=>5); $this->Hoge->updateAll($updateAllFields, $u…

CakePHPを使ったアプリで追加デプロイ時の注意

PHP

今、CakePHPを使ってある業務システムを作成している。結構な規模を他の仕事も抱えながらひとりでちまちま作成するものだから、工期がかなりかかってしまう。それだけ長い間、お客さまをお待たせするわけにはいかないので、イテレーション開発手法を導入して…

MacでCakePHP

PHPアプリの開発ではCakePHPを標準で使用している。これを、Macでも使えるようにするには、少し設定を変更しないといけない。 .htaccess を有効にする。 httpd.conf の開発用ドキュメントルートのディレクティブに以下の設定を行う。AllowOverride All tmpデ…

SessionとOpenPNE

社内でOpenPNEを試験導入するということで、Linuxサーバへのセットアップを依頼された。社内にLinux使いはもう一人いるが、言語も含めてこういったことができるのは私だけなので、たいていは私に依頼が来る。ダウンロードしたファイル群の中にセットアップ方…

久しぶりに「先生」をした

PHP

ひとつプロジェクトが終わった。 なかなか楽しいプロジェクトだった。 このプロジェクトはメインはある市の議会答弁管理アプリの製作。もともとクラサバで作られていたものをWEBアプリに置き換えるというので発注された。といっても、内容的にこじんまりした…