CakePHP2.xで非CakePHPの外部PHPコードを使う方法
CakePHP案件で、クライアントから非CakePHP(「素」のPHP)のクラス化されていない(ライブラリではない)共通関数を使うよう指定されたので、CakePHPから非Cakeの関数を呼び出す方法についてメモしておく。
App/Vendor/にファイルを置く
CakePHPプロジェクトのApp/Vendorに利用したい非CakePHPファイルをコピーする。サブディレクトリを作ってその中にコピーしても良い。
(ここではphpfunctions.phpというファイルを配置した)
App::Importで読み込み
利用したいControllerやModelの先頭(クラス定義の前)で、App::Importを使ってロードする。
App::import('Vendor', 'phpfunctions');
下の画像はAppControllerでの書き方の例
App:UsesではなくApp::Import
App:Uses()はCakePHPのライブラリをロードする場合に使用するので、非CakeのPHP関数を使う場合は、App::Importを使う。
関数を呼び出す
関数の呼び出しは通常のPHPの呼び方で良い。
function wrapper(){ phpfunction(); // phpfunctions.phpの関数を呼び出す }
TortoiseGitで新規プロジェクトを作成してからリモートにプッシュするまでの手順
Windows7+TortoiseGitで新規プロジェクトを作成してからリモートにプッシュするまでの手順に関するメモ
新規プロジェクトのフォルダを作る
適当な場所に新規プロジェクトのフォルダを作成する
※フォルダ名がPractieになっているのはTypo...
リポジトリを作成
コンテキストメニュー(右クリックメニュー)から「Git ここにリポジトリを作成(Y)...」を選択
そのまま(「Bareを作成」にはチェックせず)OKをクリック
リポジトリ作成完了
WIndowsのエクスプローラの設定から隠しファイルを表示するに設定すると、「.git」フォルダが見える
ソースファイルを追加
ここでは適当にindex.phpという名前のファイルを配置
親フォルダに戻り、
コンテキストメニューから「TortoiseGit→追加(A)...」と選択
追加対象のファイルを選択してOKをクリック
(すべて追加して良いなら、左下のチェックボックスをチェックしても良い)
追加完了
コミット
コンテキストメニューから「Git コミット(C)->"......."」を選択
メッセージを記入して(ここでは、「新規プロジェクト」とした)、コミットするファイルにチェックを入れてOKをクリック
コミット完了
SubversionとGitのコミットの違い
Subversionユーザーだった私が戸惑ったのは、「コミットしたらどこにデータが送られるのか?他の人に迷惑はかからないのか?」という点。
Subversionではコミットするとデータはすぐにリモートリポジトリに送信されるが、Gitのコミットではローカルで行われ、リモートリポジトリへの送信はプッシュ(以下に手順を説明します)で行われる。
Subversionのコミットが、Gitではプッシュとコミットに分かれているイメージ。
参考:
リモート側リポジトリを作成
社内(自宅内)サーバーにリポジトリを作成する場合
サーバー内の適当な場所にリポジトリ用のディレクトリ(フォルダ)を作成する。
コンテキストメニュー(右クリックメニュー)から「Git ここにリポジトリを作成(Y)...」を選択
「Bareを作成」にチェックして、OKをクリック
(ローカルで)リモートリポジトリを設定
ローカル側のフォルダに戻り、コンテキストメニューから「TortoiseGit→設定(S)」を選択
OKをクリックして次に進む
設定画面の左ペインから「Git→リモート」を選択し、「リモート」と「URL」に入力して(URLは先ほど作成したリモートリポジトリのパスを入力する)OKをクリック
ここでは「いいえ」を選択
ローカル側のフォルダに戻り、コンテキストメニューから「TortoiseGit→プッシュ(リモートへ反映)...」を選択
項目「リモート」に上で設定したリモートリポジトリ名を選択し、OKをクリック
完了