Furudateのブログ

プログラミングやネットワーク系の知識・技術がメインのブログ。技術メモ帳的な感じになるかと。岩手から発信していきます。

PHP

【PHP】CakePHPで特定のバリデーションルールを解除

PHP

こんにちは。 CakePHPではモデルの$validateにバリデーションルールを指定しています。 ここで指定するとsaveのときや $this->Model->validates() で自動でバリデーションをしてくれてとても便利です。 しかし、場合によってはバリデーションルールの一部を…

【PHP】CakePHP2でcurlを使ってREST APIを叩く処理

PHP

こんにちは。 最近、自作したAPIをCakePHPを使って叩こうとしたのですが、何を使えばいいか迷いました。 PHPを使って外部のリソースを取得したりAPIを叩くとき、file_get_contentを使う方法があります。 しかし、パフォーマンス的にはcURLを使ったほうが良い…

【PHP】CakePHP2.x系での別モデルの使用方法まとめ

PHP

こんにちは。 久々にCakePHPについての更新です。 今回は小ネタ的な感じですが、あるコントローラーから別のモデルを使いたいとき、あるいはあるモデルから別のモデルを使いたいときの方法をまとめておきます。 以下では、hogeコントローラー、hogeモデルに…

mecabのインストールと辞書追加

こんばんは。 今回はMacにmecabを入れ、PHPで使えるようにしたいと思います。 なお、私の場合はphpenvでPHPを管理しているので、以下はそちらに合わせた環境構成となります。 mecabインストール まずはmecabのインストールです。 Homebrewで簡単に出来ます。…

HomebrewでApache、PHP、MySQL、phpMyAdmin追加

こんばんは。 ローカルでの開発環境として今までMAMPを使っていましたが、MacにはMAMPを使わずともApacheやPHPなどがあるので、どうせならそちらを使いたいと思い、MAMPを使わない環境構築をしてみました。 今回は、Apache、PHP、MySQL、phpMyAdminを使える…

【PHP】CakePHP2の環境構築と初期設定

こんばんは。 今更ですが、CakePHP2系列の環境構築と初期設定のやり方をまとめておきます。 ここではTwitterBootstrapの導入まで行います。 複数人で開発するときに環境構築のところで色々エラーが出て非常にめんどくさい思いを今したので・・・。 1. CakePH…

【PHP】MAMPでCakePHPのbakeコマンド実行したらMySQLに接続出来なかった時の対応

PHP

久しぶりに記事更新です。 今回はCakePHPについてです。 MacのMAMP環境でbakeコマンドでモデルを作成しようとした際、mysql.sockが No such file or directory となってしまい、MySQLに接続出来ませんでした。 色々調べてみた結果、こちらの記事に解決策が書…

【PHP】DBpedia Japaneseから情報を取得する

PHP

こんばんは。 最近、オープンデータの勉強をしました。 そこでSPARQLについて使い方を少し学んだので、これを使って前々からやりたかったDBpediaの情報をPHPで取得するということを今回はしたいと思います。 SPARQLをPHPで使おうとすると、ライブラリ等を使…

【PHP】PHP 5.5 でプログラムの更新が反映されないときの対応

PHP

こんにちは。 MAMPでPHPをいじっていたところ、なぜかソースの変更がすぐに反映されず、何回かリロードしたらやっと反映されるという現象が発生しました。 これの理由はキャッシュが影響しているそうです。 そこで、こちらの記事を参考に以下のように設定し…

【PHP】サムネイル画像作成

PHP

// dstの値から最適なサイズにリサイズ(縦横比を) function getImageSizeForSmartResize($dstWidth, $dstHeight, $srcWidth, $srcHeight){ $factor = min*1; return array($factor * $srcWidth, $factor * $srcHeight); }// サムネイル画像作成 function c…

【PHP】includeとrequireの使い分け

PHP

こんにちは。今PHPを教えているのですが、その際にincludeとrequireについて触れたのでここにも書いておきたいと思います。 外部ファイルを読み込むinclude()とrequire() PHPで外部ファイルを読み込みたい場合は、include()関数かrequire()関数を使います。…

【PHP】CakePHPでパスワードをハッシュ化する

PHP

こんばんは。CakePHPでは、ユーザ登録の際にフォームにusernameとpasswordがある場合、パスワードを自動でハッシュ化してくれます。しかし、パスワード再発行処理や、変更処理などをした場合には、ハッシュ化はしてくれません。 そこで、指定した値をハッシ…

【PHP】CakePHPでViewを使わないことを指定する

PHP

こんばんは。CakePHPでは、コントローラでアクションを作成した際、それに対応したViewがないとエラーが出ます。 しかし、ajaxなどのバックグラウンドで動くものや、CSVダウンロードのみなど、Viewを必要としない処理を書くときがありますそのような際にはAc…

【PHP】CakePHPでjQueryのajaxでPOSTしたデータを取得する方法

PHP

こんばんは。連続投稿です。CakePHPでは、POSTとGETをコントローラで受け取る際、このように受け取ります。POSTの場合 $this->data["Model"]["key"];(CakePHP1.3) $this->request->data("Model.firld");(CakePHP2系)GETの場合 $this->params["url"]["key"];(…

【Javascript】【PHP】jQueryでajax的なコメント書き込み処理

こんばんは。今回はjQueryを使って画面遷移なしでajax的にコメントの投稿と表示をしてみたいと思います。こちらのサイトがとても詳しく書いてあり、非常に参考になりました。基本的には前のエントリで書いた$.postを用いて実装しています。 DBのテーブルを用…

【JavaScript】【PHP】jQueryでフォームダイアログを表示して裏でmysql処理

こんにちは。今回は、jQueryでフォームをダイアログで出すこと、そして、ダイアログのボタンを押したら裏でPHPを用いてmysql処理をし、ログイン処理を行いたいと思います。これがあるとログインフォームなどの簡単なフォームを作らなくていいし、画面も無駄…

【PHP】mysqliとプリペアドステートメントについて

PHP

こんにちは。今回はPHPについてです。 普段フレームワークで書くことが多いのでいざ平文でやろうとすると忘れていることが多いです。今回はPHPからMySQLの使用についてです。PHPを習い始めたころはmysql_connectとか使ってたんですが、現在では非推奨のよう…