ラベル PHP の投稿を表示しています。 すべての投稿を表示
ラベル PHP の投稿を表示しています。 すべての投稿を表示

2013年6月15日土曜日

Laravelに手を出してみる日記

PHPのウェブアプリケーションフレームワークLaravelつかってみましょう。

フレームワーク・PHP本体のバージョン問題や、CodeIgniterのライセンス問題などでウェブフレームワークが乱立する中で、Laravelはなかなかよいとおもいます。

IoC Containerもあるよ☆-(´>ω・`)b

環境構築

基本的な構築は、composerでcreate-projectを実行すれば完了。
composer create-project laravel/laravel your-project-name

オラオラー!と関連コンポーネントがダウンロードされて、 

 終了。イェイ


つづく。

かねこ(人´∀`)

2013年2月12日火曜日

PHPのフレキシブルで高速でセキュアなテンプレートエンジンtwigを試すの巻

PHPのモダンテンプレートエンジンTwigを使ってみる。 ほぼデファクトのSmartyより、いくらか素敵らしい。

特長

・高速
プレーンな最適化されたPHPコードに変換されるからオーバーヘッドが超少ない!

・セキュア
サンドボックスモードがあって信頼出来ないコードも安全に実行できる  (利用者がテンプレートデザインを変更できる場合とか)

・フレキシブル
柔軟なlexer(?)とパーサで動く。カスタムタグとフィルターとDSLを作ることができる

ウハー!曖昧(・へ・)

インストール

方法が色いろある
http://twig.sensiolabs.org/doc/intro.html#installation

とりあえずいつもどおりPEARで。
こうして、
pear channel-discover pear.twig-project.org


こうすると、
pear install twig/Twig


こうなる。
downloading Twig-1.11.1.tgz ...
Starting to download Twig-1.11.1.tgz (76,492 bytes)
.................done: 76,492 bytes
install ok:
channel://pear.twig-project.org/Twig-1.11.1


これで



こうなって

Hello Fabien!

これで

こうなった。

<!DOCTYPE html>

<html>
    <head>
        <title>:-)</title>
    </head>
    <body>
        HELLO!!
    </body>
</html>


つづくー!

かねこ<(゚ε゚)>

2012年9月18日火曜日

PHP Fog!

開発環境構築はそろそろネタ切れになってきてちょっと飽きちゃたから、たまには他のことやろう。

PHP Fogが気になったので、つかってみます。PHPのクラウドプラットフォーム!

1.登録~SSHキー設定

(省略)

アプリ登録で、とりあえずCustom Appを選択。登録が完了するとHelloWorldがでるようになる。



2.Gitリポジトリからソースコード取得

git cloneする。
# git clone git@git01.phpfog.com:e2kaneko.phpfogapp.com
Cloning into 'e2kaneko.phpfogapp.com'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.


3.ソースコード書き換え

適当に。



4.commit~push

コミットしてプッシュ。お決まり。
# git commit . -m "change message."
[master 3db2846] change message.
 1 file changed, 1 insertion(+), 1 deletion(-)

# git push
Counting objects: 5, done.
Writing objects: 100% (3/3), 271 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:  -----> Deploying to the cloud
To git@git01.phpfog.com:e2kaneko.phpfogapp.com
   c0fb119..3db2846  master -> master


5.確認

さっきプッシュした内容が反映されたことを確認。



て感じでお手軽かどうかイマイチどうかわからない(コミットフックして自動デプロイってすぐ作れるもんね)PHP Fogだけど、スケールアウトしたりスケールアップしたり、リリースバージョン管理したり、すぐサービス起動したり止めたり、そういうクラウドの特徴っぽいところで真価を発揮するんだろうよ、きっと。

AppFogもきになる!

かねこ(b´∀`)

2012年9月17日月曜日

SVNとIRC連携の巻

SVNコミットをIRCに通知してみる。
SVNにはpost-commitがあるから、たぶん楽勝。

環境もなんでもいいんだろうけど、手っ取り早そうなPHPで。

pearライブラリ検索
> pear search IR
Retrieving data...0%
.MATCHED PACKAGES, CHANNEL PEAR.PHP.NET:
=======================================
PACKAGE      STABLE/(LATEST) LOCAL
Net_IRC      0.0.7 (beta)          IRC Client Class
Net_SmartIRC 1.0.2 (stable)  1.0.2 Net_SmartIRC is a PHP class for communication with IRC networks
ネット見たらSmartIRCのほうがよさそう。

かいた。
サーバに置いて、post-commit変更
[root@hoge hooks]# vi post-commit
#!/bin/s
AUTHOR=`svnlook author -r $REV $REPOS`
LOG=`svnlook log -r $REV $REPOS`
CHANGES=`svnlook changed -r $REV $REPOS`
php /home/e2info/developer/svn-irc.php "$AUTHOR" "$LOG" "$CHANGES"

どうかな


できた!!日本語よめないのはめんどくさいからまた今度で。

(*´・ω・)かねこ(・ω・`*)

2012年9月11日火曜日

最強の開発環境をつくるぞ!

本気でやるぞ!


というわけで、グランドデザインのラフつくりました。イマイチ!
トモチンに「もっとかっこよくしたい!」って相談したら、「モノクロにするとかっこよくなりますよ~」って言われたんだけど、モノクロのやりかたはおしえてくれませんでした
(-∧-;) あいつめ。

現在導入済みの環境は、
  • Jenkins
  • SVN
  • Redmine
  • Aipo
  • サーバ死活監視
ほかにもあったっけな?


次はとりあえず全部つないじゃうのがわかりやすくていいだろうと思うので、iRCサーバ作って導入済みプロダクトの通知をバンバン飛ばしてみたい!

よって次回は、iRCサーバをたちあげてみたいと思います。
楽しみ!

かねこ(゜-゜)

2012年3月21日水曜日

MongoDB(1) 導入編

MongoDBやります。いい加減、やっとかないとまずい状況です。

特長
・ドキュメント志向(JSON)
・スキーマレス
・簡単なレプリケーション
・自動シャーディング
・高速
・トランザクション機能なし
とか。

とりあえず、環境準備めんどくさいからWindows環境(+XAMPP)で使えるようにしてみる。
どうせクロスプラットフォームだし。


1.ダウンロード

公式サイトよりダウンロード


2.展開と設置

展開して、置けばおしまい。

ディレクトリ構成例
D:\xampp\mongodb
┗bin
┗data
┗log


3.きどう

コマンドプロンプトで、デーモン起動
D:\xampp\mongodb\bin>mongod --logpath=D:\xampp\mongodb\log\mongodb_log.txt --dbpath=D:\xampp\mongodb\data

ログを見ると、
Mon Mar 19 17:18:58
Mon Mar 19 17:18:58 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
Mon Mar 19 17:18:58
Mon Mar 19 17:18:58 [initandlisten] MongoDB starting : pid=4688 port=27017 dbpath=D:\xampp\mongodb\data 32-bit host=e2info9
Mon Mar 19 17:18:58 [initandlisten]
Mon Mar 19 17:18:58 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
Mon Mar 19 17:18:58 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
Mon Mar 19 17:18:58 [initandlisten] **       with --journal, the limit is lower
Mon Mar 19 17:18:58 [initandlisten]
Mon Mar 19 17:18:58 [initandlisten] db version v2.0.3, pdfile version 4.5
Mon Mar 19 17:18:58 [initandlisten] git version: 05bb8aa793660af8fce7e36b510ad48c27439697
Mon Mar 19 17:18:58 [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=0, build=6002, platform=2, service_pack='Service Pack 2') BOOST_LIB_VERSION=1_42
Mon Mar 19 17:18:58 [initandlisten] options: { dbpath: "D:\xampp\mongodb\data", logpath: "D:\xampp\mongodb\log\mongodb_log.txt" }
Mon Mar 19 17:18:59 [initandlisten] waiting for connections on port 27017
Mon Mar 19 17:18:59 [websvr] admin web console waiting for connections on port 28017
Mon Mar 19 17:19:59 [clientcursormon] mem (MB) res:14 virt:44 mapped:0
Mon Mar 19 17:19:59 [PeriodicTask::Runner] task: WriteBackManager::cleaner took: 31ms

ちゃんと動いてるっぽい(64bit推奨)。
27017が標準ポート。

Windowsのサービスとして登録する場合は、「--install」
D:\xampp\mongodb\bin>mongod  --install --logpath=D:\xampp\mongodb\log\mongodb_log.txt --dbpath=D:\xampp\mongodb\data

以上。
MongoDBの導入超簡単。


4.PHPとの連携

続いて、PHPにドライバを設定してPHPと連携させてみる。

MongoDBネイティブドライバのインストール説明ページのとおり。
該当のdllダウンロードして、php.iniに設定。
extension=php_mongo.dll




以上。
MongoDBドライバの導入も超簡単。

まとめ

MongoDB超簡単。

かねこ( `д´)