FuelPHPをちょっと触ってみて思ったのが、Modelの呼び出しがstaticなんだなーと。

確かにnewしながら動的に持つ必要がない場合がほとんどなのでstaticでもいいよなー、いちいとnewしなくていいしstaticのがいいのかなーなんて思ってたのですが、

「modelのクラス名変えたい場合はどうしたらいいねん」

と疑念がよぎり、staticでもたないようにしました(個人的に)。

たとえば、

Article::getList();

ArticleModelから記事リストを取得する関数があったとする。
staticで持つならこんな感じだけど、仮にArticleというモデル名をあとで修正したくなった場合はどうしよう。
置換で全部変更はいけてないっすよね。
おとなしく

$Article = new Article();

しておけばよかったんちゃうかと。
あとでクラス名かえたくなっても、
$Article = new SubArticle();

でメソッド呼び出し元は、
$Article->getList();

のまま変更はいらない。


それとこれはとても個人的に、ごくまれに発生する問題なんだけど、
Controllerを継承して、複数個のModelの向き先をかえたい場合。

class NewController extends Controller{
public function __construct(){
parent::__construct();
$this->Article = new SubArticle();
}
}

これで、中身のpublicアクションの中身を変更せずに、
Modelの向き先だけ変更ができる。

よって、ぼくはnewする!


githubのサイト上で手動でリポジトリ作ります。

ローカルもしくは自分の開発環境でgit cloneします。

リモートの設定は引き継いでますので、git pushでgithubにpushできます。

pushに失敗したので、

vim .git/config

url = git@github.com:アカウント名/リポジトリ名.git

にか消えます。

git push

SSH keyが登録されてなかったようなので失敗します。

ssh-keygen -t rsa -C "メールアドレス"
vim ~/.ssh/id_rsa.pub

id_rsa.pubの中身をgithubに登録する。

git push

通ります。
未だのSVNユーザーなので、そろそろgitを使えるようにしておこうと思いましたので勉強です。
githubにアップしたこともあったんですが、もうすっかりgit忘れてしまいました。

まずは設定。
git config --global user.name "NAME"
git config --global user.email "EMAIL"

まずは作業ディレクトリを作る
mkdir work
cd work

初期化
git init

ファイルをコミット
git add file.txt
git commit -m 'message'

git addするあたりがちょっとSVNと違う。
SVNだと新規にファイル追加する場合だけaddしてたけど、
gitは修正もaddする。

リモートの設定
git remote add origin url

リモートにpush
git push origin master

リモートからマージ
git pull origin master