Phalcon 1.2.4 (PHP Framwork)::DIコンテナ&モジュール設定
Phalcon Framework
DIコンテナ&モジュール設定
http://docs.phalconphp.com/en/latest/reference/di.html
■基本
Phalcon\DI コンポーネント
<?php $di = new Phalcon\DI\FactoryDefault();
サービス登録方法
$di->set('{Service Name}', function() { return new ServiceClass(); });
サービス呼び出し方法
$variable = Phalcon\DI::getDefault()->get('{Service Name}');
定義されている主なサービス名
http://docs.phalconphp.com/en/latest/reference/di.html#service-name-conventions
- dispatcher
- router
- url
- request
- response
- cookies
- filter
- flash
- flashSession
- session
- eventsManager
- db
- security
- crypt
- tag
- escaper
- annotations
- modelsManager
- modelsMetadata
- transactionManager
- modelsCache
- viewsCache
※もちろん、これ以外にも、サービス登録、呼び出しはできます。
Phalcon 1.2.4 (PHP Framwork)::目次
Phalcon Framework
ドキュメント目次
http://docs.phalconphp.com/en/latest/index.html
- DIコンテナ&モジュール設定
- コントローラー
- モデル
- PHQL
- ORMキャッシュ
- ODM
- ビュー
- ビューヘルパー
- リソース管理
- Volt(テンプレートエンジン)
- ルーティング
- ディスパッチコントローラー
- 名前空間
- イベント管理
- リクエスト
- レスポンス
- クッキー管理
- URL&パス
- セッションデータ保持
- フィルタリング&サニタイジング
- エスケープ
- バリデーション
- フォーム
- 設定
- ページネーション
- キャッシュ
- セキュリティ
- 暗号
- ACL(アクセスコントロール)
- 多言語化
- ユニバーサルクラス
- ロギング
- 注釈
- コマンドラインアプリ
- キューイング
- DB抽象化レイヤー
- DBマイグレーション
- デバッグ
※時間があるときに、それぞれについて、 簡単に翻訳を含めて説明をできればな〜と。
PHP, Phalcon, Zephir
Zephir
http://blog.phalconphp.com/post/57161129440/phalcon-2-0-the-future
Phalconの2系からは、開発言語にZephir言語を使用しているそうで、
PHP+C言語なイメージらしいです。
公式ドキュメント
http://zephir-lang.com/
導入方法
http://www.michaelgallego.fr/blog/2013/08/28/a-quick-introduction-to-zephir-language/
ソース
https://github.com/phalcon/zephir
必須モジュールインスト
sudo yum -y install git-core sudo yum -y install gcc libtool
clangインスト
cd /usr/local/src/ sudo wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm sudo rpm -Uvh epel-release-6-8.noarch.rpm sudo yum install -y clang
json-cインスト
cd /usr/local/src/ sudo git clone https://github.com/json-c/json-c.git cd json-c sudo sh autogen.sh sudo ./configure sudo make sudo make install sudo make check
re2cインスト
http://labs.web-mix.jp/linux/centos/centos_add_rpmforge/
cd /usr/local/src/ sudo wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm sudo rpm -Uvh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm --- # sudo vi /etc/yum.repos.d/rpmforge.repo enabled = 0 --- sudo yum --enablerepo=rpmforge install -y re2c
zephirインスト
cd /usr/local/src/ sudo git clone https://github.com/phalcon/zephir.git cd zephir/ sudo ./install
PHPアップデート
(※5.4系じゃないとコンパイル時にエラーになるので)
sudo yum -y install php php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml # yumだと5.3までしかないので、それ以上に上げたい場合 //リポジトリの追加 sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sudo rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm //php5.4にアップデートされることを確認。 sudo yum --enablerepo=epel,remi,rpmforge info php //アップデート実行 sudo yum --enablerepo=epel,remi,rpmforge update -y php php-devel php-gd php-mbstring php-mysql php-pdo php-pear php-xml
Zephirコードのコンパイル
1.ZephirコードをCに変換
2.CコードをPHPエクステンションにコンパイル
以下を実行すると、/extフォルダに変換されたC言語コードが生成されます。
sudo ./bin/zephir compile
以下を実行すると、PHPエクステンションが生成されます。
cd /ext sudo phpize sudo ./configure sudo make sudo make install
生成されたsoファイルをphp.iniでロードするようにすればOK。
Vagrant + Windows7
Windowsで開発するのに、xamppとかwampとかありますが、 最近主流なのが、
Vagrant
ですね
もちろんmacでも使えます。
VirtualBox
ダウンロード&インスト
https://www.virtualbox.org/wiki/Downloads
4.3系はネットワーク周りに不具合あるらしく、
4.2系がいいらしい。(現状)
https://www.virtualbox.org/wiki/Download_Old_Builds
Vagrant
ダウンロード&インスト
http://downloads.vagrantup.com/
OSイメージ
セットアップ
$ vagrant box add {title} {url} $ vagrant init {title} $ vagrant up
ちなみに、私がインストしたものは
http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box
設定ファイル(Vagrantfile)
vagrantを起動する前に、とりあえずこれだけ設定すればOKかな。
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "CentOS_64" #ボックス名 config.vm.network :forwarded_port, guest: 80, host: 80 #フォワードポート config.vm.synced_folder "./data", "/var/vagrant_data" #共有フォルダ end
SSH
Winからは、puttyやPoderosaからsshできます。
Host: 127.0.0.1 Port: 2222 Username: vagrant Private key: ***/.vagrant.d/insecure_private_key or Password:vagrant
基本コマンド
# 開始 vagrant up # 終了 vagrant halt # 破壊 vagrant destroy # ステータス vagrant status
sshで入って、Apache、MySQL、PHPなど基本を入れて、
と入れて確認できます。
マークダウンエディタ
技術メモなどはマークダウンで記録しよう!と、最近始めました。
普段、WinもMacも両方使うし、
職場、自宅でもいつでも見れるほうがいいので、
クラウド型のエディタを使うことにしました。
Markable.in
このサイトから、いくつか気になるもの試してみて、
”Markable.in”に決めました。
http://www.find-job.net/startup/20-markdown-editors
マークダウンで記録しておくと、
ブログにもコピペでいけるし、いいかなと。