PHP

CakePHP2 実践入門を半分くらい読んだ



すごくわかりやすくていい本だと思う。
CakePHP2も覚えること少なくて楽。
でも入門本ではないので注意。

MacPortsでPHPとApacheとMySQLをインストールした時のメモ

この記事を参考にしました↓
Snow Leopard で MacPorts から Apache2, PHP5, MySQL のインストール


Apacheをインストール
sudo port install apache2

Apacheのデフォルトのconfファイルをコピーしておく
sudo cp /opt/local/apache2/conf/httpd.conf /opt/local/apache2/conf/httpd.conf.bak

PHPをインストール
sudo port install php5 +apache2 +mysql5 +sqlite +pear

PHPのiniファイルを作成
sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini

PHPをアクティベートする
cd /opt/local/apache2/modules
sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so

PHPが利用できるようにApacheの設定をする
sudo vi /opt/local/apache2/conf/httpd.conf
384行目を追加
380     # probably should define those extensions to indicate media types:
381     #
382     AddType application/x-compress .Z
383     AddType application/x-gzip .gz .tgz
384     AddType application/x-httpd-php .php

 Apacheを起動(なんかメッセージ出た→ #ServerName www.example.com:80 のコメントアウトはずす)
sudo /opt/local/apache2/bin/apachectl start

MySQLをインストール
sudo port install mysql5-server

MySQLの初期化(MySQL用のDBを作るらしい)
sudo -u mysql mysql_install_db5

MySQLを起動
sudo /opt/local/share/mysql5/mysql/mysql.server start

MySQLのrootユーザーのパスワードを設定(rootとかいうパスワードは絶対ダメ!!)
/opt/local/lib/mysql5/bin/mysqladmin -u root password 'root'

PHPでMySQLが使えるようにする
sudo port install php5-mysql

PHPのiniファイルにMySQLの設定を追加
sudo vi /opt/local/etc/php5/php.ini
1075行目と1229行目を変更
1075 pdo_mysql.default_socket= /opt/local/var/run/mysql5/mysqld.sock
1229 mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock 

symfonyのDoctrineのgetterとsetter


phpの__callメソッドの存在を今日はじめて知った。
symfonyのDoctrineのgetterとsetterの謎が解けた。

Doctrineのアクセサとオーバーライドについて : アシアルブログ
http://blog.asial.co.jp/493


PHPのフレームワーク比較


CakePHPが一番好き。
お手軽ではやく開発できる。
設定より規約。
規約どおりにDBを作れば勝手にModelがやってくれる。

Symfonyは多機能すぎて逆にヤダ。
自分をSymfonyに合わせる感じ。
使い方覚えるのが面倒くさい。
設定ファイルとか使いまくり。

Ethnaは特に特徴がないと思う。
あえてEthnaを選ぶ理由がない感じ。

Zendフレームワークは
フレームワークというよりライブラリの集まり。
ライブラリ使って自由に作ってくださいって感じ。

CakePHPかSymfonyの2択かな。
お好みで好きな方使ってください。


symfonyでORマッパーの選択


http://www.symfony-project.org/jobeet/1_4/Propel/ja/
symfonyで↑のチュートリアルをやっててハマったこと。

symfonyにはORマッパーがPropelとDoctrineの2つがあるんだけど
デフォルトではDoctrineになるみたい。
Propelを使いたい時はプロジェクトを作るときに
「--orm=Propel」 ってオプションをつけないといけない↓
php symfony generate:project jobeet --orm=Propel

このオプションつけないと
There are no tasks defined in the "propel" namespace.
って怒られる。


Twitterの発言をはてなダイアリーに投稿するやつ作った。


1日1回、Twitterの発言をはてなダイアリーに投稿するやつ作った。
冬休みの宿題のやつです→ http://d.hatena.ne.jp/hibinotatsuya/20081225/1230211326

はてなダイアリーAtomPubを使ってbotが自動で投稿してます。
ソースはやる気がでたら晒します。

〓たつや〓


さくらインターネットのレンタルサーバでPEAR


さくらインターネットのレンタルサーバは
PEARが使えないと思ってたけど使えた。
/usr/local/php-5.2.8/lib/php

に入っててパスも通ってる。
でもPEARコマンドでパッケージを追加するとかはできない。

〓たつや〓


PHPでTwitterのRSSをはてなダイアリーAtomPubを使って投稿するやつを作ろう(その1)


PHPでTwitterのRSSをはてなダイアリーAtomPubを使って投稿するやつを作ろうと思います。
冬休みの宿題です。

・仕様
Twitterの1日分の自分の発言を
1日1回投稿する。
DBは使わない。

PEARのXML_RSSを使ってTwitterのRSSを取得

24時間以内の発言だけ取り出して、ブログ記事を作成

はてなダイアリーAtomPubのXMLとかをごにょごにょ作る

PEARのHTTP_Requestを使って投稿する
このプログラムをcronで1日1回実行する

脳内プログラミングは完成や~!!
これは冬休みの宿題なので元旦あたりに作ります。(たぶん)

〓たつや〓


楽天テクノロジーカンファレンス2008に行ってきた


楽天テクノロジーカンファレンス2008に行ってきた。
かなり楽しかった。
ずっとひとりだったけど…。

みんないろんなもの作って公開してたりしてすげ~。
俺もオープンソースとかに参加したいなーって思った。

PHP勉強会でopenpearのことを発表してて、
PerlのCPANみたいにもっと気軽にライブラリとか公開しようぜ!
みたいな感じのやつだったので
openpearにしょぼいライブラリでも公開してみようかなと思った。

http://openpear.org/

ほかのエンジニアからいろいろ刺激を受けて
なんかやる気が出てきた!!(笑)

三木谷さんはエンジニアにすごい理解がある感じで好感がもてた。
こりゃー楽天にはいいエンジニアが集まってくるわって思った。

懇親会ではタダメシで
飲み放題、食い放題で楽天サイコーって感じだった!!

懇親会でid:soheiくんと初めてしゃべった!
ネットの中ではよく見てたけど、リアルでは初めてだった。
同い年のエンジニアですごい好青年だった。
これからはライバル視することにしたから!!

まとめ:楽天ええやん。

〓たつや〓


Fastladder をPHPに移植した OpenFLP


Ruby on Rails で書かれている Fastladder を
CakePHP で書き直した OpenFLP ってのがある。
CakePHP を使う時の参考にする。
〓たつや〓


楽天市場
記事検索
  • ライブドアブログ