いろいろPHP~備忘録~

いろいろPHP ~備忘録~

PHP関連の備忘録

Basic認証(htaccess)のAuthNameの統一

複数ディレクトリ配下にBasic認証(htaccess)を設定します。 その時に、認証確認を1回だけにするように設定します。 htaccessのAuthNameを統一にする AuthUserFile /home/username/.htpasswd AuthGroupFile /dev/null AuthName "idとpassを入力してください…

Composerをインストール/利用

概要 vagrant+centosにComposerをインストールしてから、利用する方法を説明します。 インストール ・Composerをインストール curl -sS https://getcomposer.org/installer | php ・Composerをグローバルに移行 sudo mv composer.phar /usr/local/bin/compos…

MySQL ~キーワード検索~

概要 キーワードをもとに検索を行う方法で、 LIKE演算子とCONCAT関数を使用して、キーワード検索をします。 例 SELECT * FROM user WHERE concat(column1, column2, column3) LIKE '%キーワード%' 上記の書き方で、複数のカラムに対してキーワード検索(あい…

php7をcentos6系にインストールしてPDOを使用する

php7をcentos6系にインストールして、PDOを使用するためには、 次のコマンドを入力して、パッケージをインストールする。 // yum install --enablerepo=remi-php70 パッケージ名 yum install --enablerepo=remi,remi-php70 php-mysqlndパッケージをインスト…

【PHP】WebAPIを叩くときにcURL関数を利用する

概要 WebAPIをcURL関数を利用し、実行する方法の簡単な説明 cURLとは PHPで外部のサイトにアクセスして様々な情報を取得したいときに有効なのがcURL関数です。 他にHTTPリクエストで情報を取るのには、file_get_contentsという関数もあります。 実装方法 GET…

【GitHub】GitHubのIssueと紐付けて、ソース管理

作業の流れ Issue毎にブランチを切って作業を行います。 ※cloud9上で作業を行います。 techacademy.jp 1.作業前に準備 cloud9上のターミナルでコマンドを入力していきます。・手元のGitのブランチをmasterに切り替える git checkout master・GitHubにある…

【FuelPHP】PHPMailerを使ってGmailのSMTP経由でメールを送信する

概要 外部のSMTP経由でメールを送信します。 今回は、GmailのSMTPとPHPライブラリ(PHPMailer)を利用します。 1.PHPMailerをcomposerでインストール composer.jsonに下記の行を追加します。 { "require": { "phpmailer/phpmailer": "~5.2" ← 追加する行 }, …

【FuelPHP】セッションをDBで管理

概要 データベースでセッション管理するための設定をしていきます。 管理方法はいくつかありますが、今回はデータベースで管理します。 1.設定 セッションクラスは、 fuel/core/config/session.php 設定ファイルで設定されています。 そのファイルをコピーし…

【FuelPHP】Presenterでtemplateを利用

概要 PresenterでTemplateを利用します。Templateの利用方法は以下の記事を参考にしてみて下さい。 wakuwakupush.hatenablog.com コントローラーにファイルを作成して、Templateを継承します。 template->title = 'title'; $this->template->content = Prese…

【FuelPHP】Templateを利用して、Viewの共通テンプレートを作成

概要 FuelPHPのTemplateを利用して、Viewのヘッダー、フッターなどの共通テンプレートを作成します。 コンテンツはアクション毎に変更をします。 1.テンプレートを作成 \fuelphp\fuel\app\views\ 配下にテンプレート用のファイル(template.php)を作成します…

【FuelPHP】Sessionクラスの使い方

Sessionクラス FuelPHPには、Sessionクラスが用意されています。 リクエスト時に削除されるような一時的なセッション(フラッシュセッション)の発行も可能です。 設定ファイル セッションクラスは、 fuel/core/config/session.php 設定ファイルで設定されて…

【FuelPHP】Ormでリレーション設定をした表からデータ取得

Ormモデルでリレーションの設定ができていない場合は、下記の記事を参考にしてみて下さい。 wakuwakupush.hatenablog.com 1.データを取得 Ormモデルでリレーション設定をした表をfind()メソッドを利用して、データを取得します。 コントローラー上で、次のよ…

【FuelPHP】Ormモデルのリレーションを設定

Ormパッケージを利用する場合は、先にOrmパッケージの設定を行って下さい。 wakuwakupush.hatenablog.com FuelPHPでは、リレーションタイプが4種類あります。 ・Belongs To ・Has One ・Has Many ・Many to Many今回は、「Belongs To」と「Has Many」のみを…

【FuelPHP】Ormパッケージを有効にする設定

Ormとは データーベースのテーブルレコードとオブジェクトのマッピングや、テーブル間のリレーションを操作するためのパッケージです。Ormに含まれるModelクラスでは、基本的なCRUD用のメソッドも用意されています。 Ormの設定 Ormパッケージを利用するため…

【FuelPHP】oilコマンドを利用したOrmモデルの自動生成

説明 oilコマンドを利用して、Ormモデル、マイグレーションを作成します。 また、テーブルの作成もoilコマンドで自動でします。 引用 oilコマンドでテーブルの作成するメリットは、データベースの構造もバージョン管理できるようになること 1.oilコマンドの…

【FuelPHP】DBの結果を配列で取得

例えば下記のようにクエリを実行します。 結果はオブジェクトを生成します。 from('users') ->where('id', 1) ->execute(); 結果を配列で返して欲しい場合は、下記のようにexecute()の後にas_array()をくっつければ、 配列を生成します。 from('users') ->wh…

Vagrantで作成したCentOSにAnsibleをインストール

条件として 先にVirtualBoxtとVagrantのインストールを済ましておいて下さい。 まだの場合は、下記の記事を参考にしてみて下さい。 wakuwakupush.hatenablog.com 1.CentOSのVirtualBoxへの登録 VirtualBox用boxファイルを varant box add {適当な名前} {box…

Vagrantで作成したローカル環境にNginxをインストール

wakuwakupush.hatenablog.com ※環境構築がまだの場合は、先に上記の記事から環境を構築してみて下さい。 1-1.Nginxのインストール yumリポジトリをCentOSに登録します rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el…

VirtualBox+VagrantでCentOS環境構築

VirtualBoxインストール OSに合ったVirtualBoxをダウンロードしてインストール Downloads – Oracle VM VirtualBox Vagrantインストール OSに合ったVagrantをダウンロードしてインストール www.vagrantup.com 1-1. CentOSのVirtualBoxへの登録 VirtualBox、Va…

NginxでPHPを実行~ローカル環境(CentOS)~

wakuwakupush.hatenablog.com ※Nginxのインストールがまだの場合は、上記の記事を参考にしてみて下さい。 1.php-fpmの設定 php-fpmをインストールします。 $ sudo yum install -y php-fpm 2.php用に設定を変更をします。 $ sudo vi /etc/php-fpm/www.conf //…

【FuelPHP】task(タスク)を実装

タスクとは・コマンドラインから実行されるかまたは cron ジョブとしてセットアップされるクラス・ fuel/app/tasks ディレクトリに配置・定期的に処理を実行したい時に使用http://fuelphp.jp/docs/1.8/general/tasks.html:公式リファレンス robotsを起動 fue…