いろいろPHP~備忘録~

読者です 読者をやめる 読者になる 読者になる

いろいろPHP ~備忘録~

PHP関連の備忘録

Composerをインストール/利用

概要

vagrant+centosにComposerをインストールしてから、利用する方法を説明します。

インストール

・Composerをインストール

 curl -sS https://getcomposer.org/installer | php

・Composerをグローバルに移行

 sudo mv composer.phar /usr/local/bin/composer

※composer.pharをcomposerに名前を変更

利用

バリデーションのライブラリをComposerでインストールします。

・composer.jsonを作成

 sudo vi composer.json

・composer.jsonに下記の内容を記載

{
    "require": {
        "vlucas/valitron": "dev-master"
    }
}

・composerでインストール

 composer install

以上でライブラリのインストールが完了です。


 

MySQL ~キーワード検索~

概要

キーワードをもとに検索を行う方法で、
LIKE演算子とCONCAT関数を使用して、キーワード検索をします。

 SELECT * FROM user WHERE concat(column1, column2, column3) LIKE '%キーワード%'

上記の書き方で、複数のカラムに対してキーワード検索(あいまい検索)ができます。


CONCATでの文字列連結時にひとつでもNULLな項目があると「NULL」扱いになり、
期待通りの結果が返ってきない場合があります。
その時は、ISNULL句を使用して、NULLを別のものに置き換える必要があります。

下記サイト参考
qiita.com

 

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

php7をcentos6系にインストールして、PDOを使用するためには、
次のコマンドを入力して、パッケージをインストールする。

// yum install --enablerepo=remi-php70 パッケージ名

yum install --enablerepo=remi,remi-php70 php-mysqlnd

パッケージをインストールした後は、php.iniの設定を行う。

// php.iniファイルを編集
cd vi /etc/php.ini

// 以下を最終行に追記
extension=pdo.so
extension=php_pdo.dll
extension=pdo_mysql.so

// Apacheの再起動
sudo service httpd restart

以上でPDOが使用可能になる。

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

概要

 WebAPIをcURL関数を利用し、実行する方法の簡単な説明

cURLとは

 PHPで外部のサイトにアクセスして様々な情報を取得したいときに有効なのがcURL関数です。
 他にHTTPリクエストで情報を取るのには、file_get_contentsという関数もあります。

実装方法

 GETメソッドの実行を行いGoogle Books APIから書籍情報を取得します。
 
 例

<?php

      // Google Books API
      $url = 'https://www.googleapis.com/books/v1/volumes?q='.$hoge;

      $ch = curl_init(); //開始

      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  // curl_execの結果を文字列で返す

      $response =  curl_exec($ch);
      $result = json_decode($response, true);

      curl_close($ch); //終了

 cURL関数の利点として、リクエストヘッダーを変えたりするなど、
 リクエスト方法をカスタマイズすることが可能です。


以上です。



リファレンス
PHP: cURL 関数 - Manual

参考URL
qiita.com
qiita.com

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

作業の流れ

Issue毎にブランチを切って作業を行います。
cloud9上で作業を行います。
techacademy.jp


1.作業前に準備

cloud9上のターミナルでコマンドを入力していきます。

・手元のGitのブランチをmasterに切り替える

git checkout master

GitHubにあるソースコードをダウンロードするためにgit fetchコマンドを利用する

git fetch origin

・ダウンロードされたGitHub上のブランチのmasterという名前のブランチを手元のmasterに取り込むためにgit mergeコマンドを実行します

git merge origin/master

準備完了です。

2.GitHubでIssueを登録

f:id:takahiro0078:20170125172437p:plain

赤の四角で囲っている番号を使用して、Gitでプッシュする際にIssueと紐付けます。

3.ブランチを作成

これから追加する機能とか既存のソースコードの修正についてはGit上で専用のブランチを作成します。

以下のコマンドを実行すると、feature/sample_testという名前のブランチが作成されて、かつそのブランチに切り替わります。

git checkout -b feature/sample_test

ブランチが切り替わったら、ソースの修正や機能追加などを実施していきます。

4.コミット

ソースの修正が終了したら、コミットします。
コミットする前にaddを実行します。

git add .

以下のコマンドで修正したソースをローカルリポジトリにコミットします。

// コメントを書いた後に、スペース、#1でIssue番号と紐付ける
git commit -m "コメント箇所 #1"


5.プッシュ

最後にリモートリポジトリにコミットした内容をプッシュします。

git push origin feature/sample_test

これでGitHub上に修正した内容が反映されていたらOKです。