PHP symfony
DBプログラム > PHP, symfony >
学習書籍・・・PHP×携帯サイト デベロッパーズバイブル
■PHP×携帯サイト デベロッパーズバイブル
出版社:ソフトバンククリエイティブ
価格:¥2,940(税込)
通常、携帯サイト作成の本は、PCサイトとの違いなどでページをかせぐことが多いのですが、この本は、違います。
各キャリアに対応した絵文字出力方法とか、IPアドレスからキャリアを判別するとか、HTTP_USER_AGENT以外で取得可能な情報とか、現実に携帯開発に関わっていないとなかなか知る機会のない情報が、まとめてあります。
これから、携帯での案件に関わる人は、必須書籍だと思います。
雑誌にも、目を通すべき雑誌はいくつかあります
ただ、まとまった情報を得るためには、何冊も買い続けないといけないですからね。
学習書籍・・・PHPによるWebアプリケーションスーパーサンプル ~リッチクライアント編~
■PHPによるWebアプリケーションスーパーサンプル ~リッチクライアント編~
出版社:ソフトバンククリエイティブ
価格:¥2,993(税込)
「リッチクライアント」と書かれていますけど、具体的なセキュリティ対策や、DVD起動できるUbuntuをそのまま使ってサンプルを試せる、PEAR::MDB2が載っていた、など、かなりお買い得な内容です。
「リッチクライアント」というタイトルが、誤解を招くような・・・・。
現に私、誤解してましたし(^^)。
EC-CUBEやWORD PRESSなども載っていて、結構、社内導入アプリケーションアンドを探している人にも有用だと思います。
サンプルは相変わらず、使い勝手が良いので、会社費用で買ってもらっておくのも良し。
学習書籍・・・PHPによるWebアプリケーションスーパーサンプル 第2版
■PHPによるWebアプリケーションスーパーサンプル 第2版
出版社:ソフトバンククリエイティブ
価格:¥3,990(税込)
PHPでWeb作成している会社で、これを持っていないところって、ないのではないかと思います。
サンプル集なので、そのままペーストして使っているところも見かけますし(^^)。
さて、付属CDにサンプルソースがついています。
文字コードが、EUCになっています。
クライアント:Windows XP SP2
サーバー:Fedora8
のような構成で動作確認を行う人もいるかと思いますが、文字コード変換を行わないと、「何も表示されない」(環境によっては、文字化けする、など)はずです。
現状のApacheは、文字コードが、UTF-8になってます。
これが、原因なので、単に確認だけしたい人は、下記のような変更を行うのも1つです。
いちいち、IEの「文字のエンコード」をクリックするのがイヤですよね(^^)
(参考)
# grep Charset /etc/httpd/conf/httpd.conf -n
723:#AddDefaultCharset UTF-8
724:AddDefaultCharset EUC
PDFlibのURLが変わったようです。http://pdflib.jp/product/download/
■PEARのインストール:Windowsの場合
C:\php>go-pear
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :
選択を求められる画面が2回出る。Enterキーを2回
Would you like to alter php.ini
次もエンター
「続行するには、何かキーを押してくれ」と表示されるので、押す。
■DBパッケージのインストール
C:\php> pear install DB
pear install Calendar-0.5.3
※ pear install Calendarでは失敗したので、バージョンを指定して成功。
pear install -a HTML_QuickForm
※依存するパッケージも含めてインストール
pear コマンドで pear で使えるコマンドが一覧表示される。
■PEARパッケージのリスト表示・・・pear list
■回数を指定してエンコード・デコードできる関数
知りませんでした、こんなのあったのかーと思ったら、よく見ると関数定義してました(^^)(つまり、作成したという意味です)。
$cnt = 4;
$str = my_base64_encode("東京都文京区千駄木", $cnt);
$str = my_base64_decode($str, $cnt);
■暗号化フォーム:4-13-5にbase64encodeとbase64decodeを追加。
何ということはない追加ですけど、この方が便利なので、追加してみました。
■Windows環境:PHP+MySQLで文字化け発生。
EUCで文字コードを統一しているつもりでしたが、「24シーズン4、5、6」で登場する「チェン」と「中国大使館」の文字列が、化けてしまいます。
C:\Windows\php.ini → mbstring.language = Japanese
C:\Program Files\MySQL\MySQL Server 5.1\my.ini → SERVER SECTION,CLIENT SECTION ともに、default-character-set=UJIS
DOSプロンプトよりselect。文字コードを該当列だけ変更してみるが、文字化けしたまま。
データベースdb1作成時に、何も指定してなかったなー、と思いつき、db1削除して、再作成する時に、文字コードを指定するか、と判断。
dropdb db1;の後、create database db1;して、データ投入したが、文字化け状態変わらず。
create table時に、CHARACTER SET ujis を追記するが、状況変化なし。
埒が明かないため、次のコマンドをうつ。
show variables like 'char%';
クライアント(character_set_client)、インスタンス(character_set_server)、データベース(character_set_database)の文字コードを見る限り、全部ujis(EUCのこと)なので、問題はないように思える。
次に、下記コマンドを実行。
show create table 24member;
(一部抜粋) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=ujis と表示。
ほら、やっぱりujis(EUCのこと)。
まずます、わからなくなる。PHP
HPで、良い資料があった。
http://h50146.www5.hp.com/products/software/oe/linux/summary/reference/pdfs/mysql-50-japanese-v10.pdf
でも、既にやっているな、これ。
次に、statusコマンドをうってみたりする・・・何かヒントは?
うーーん。16進数で見る・・・。
select HEX(nam) AS ujis,HEX(belong) AS ujis from 24member;
うーん、show warnings; したりしても何も出てこない(Empty set と表示)。
※参考:collation(http://dev.mysql.com/doc/refman/5.1/en/charset-collation-charset.html)
http://dev.mysql.com/doc/refman/5.1/en/charset.html
PHP TIPS:mysql_set_charset関数 http://itpro.nikkeibp.co.jp/article/COLUMN/20080929/315647/
学習書籍・・・「PHPによるWebアプリケーションスーパーサンプル 第2版」による導入
■Windows XPへのインストール
付属CD:E:\softwares\Windows以下の各アプリインストール
●Apache・・・
1.C:\Program Files\Apache Group\Apache2\conf\httpd.conf デフォルト
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
※修正例:LocalからのみOKのケース。
Order deny,allow
Deny from all
Allow from localhost 127.0.0.1
●追加
LoadModule php5_module C:\php\php5apache2.dll
AddType application/x-httpd-php .php
●PHP・・・
1.解凍後、ディレクトリをC:\phpに変更。名前も。
2. php5ts.dll をC:\WINDOWS\system32 へコピー。
3. php.ini-dist を、php.iniに名前変更後、C:\WINDOWS へコピー。
4.(MySQL使用のため)libmysql.dll を、C:\WINDOWS へコピー。
5. C:\WINDOWS\php.ini 修正(大きく言えば、5つのキー)
903行目:session.save_path = "C:/temp"
471行目:extension_dir = "c:/php/ext"
457行目:include_path = ".;c:/php/includes"
584行目から:extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_mysql.dll
extension=php_pgsql.dll
extension=php_sqlite.dll
上記のsqliteやpgは使わないなら、コメントのままで良い。
下記も追記すること。
extension=php_pdo.dll
extension=php_pdo_mysql.dll
1118行目付近:mbstring.language = Japanese
●php.iniとhttpd.conf変更後、再起動。
■MySQLインストールと「rootユーザーパスワード設定、anonymousユーザー削除」
開発環境では、不要ですが、本番導入が近いなら、最初から本番設定で行う方が導入時に焦らずに済みます。
・
●MySQLへ、SQLファイル流し込み例
mysql -u root -p < C:\create.sql
学習書籍・・・「PHPによるWebアプリケーションスーパーサンプル 活用編」による導入
■Windows XPへのインストール
付属CD:E:\softwares\Windows\xampp-win32-1.5.1-installer.exe
インストールするのみ。ApacheやMySQLをインストールするので、既にインストールしている場合は、注意。
ウイルス対策ソフトで警告も出るので、注意。
■Linux(Fedora 8)へのインストール
学習書籍・・・PHPによるWebアプリケーションスーパーサンプル 活用編
■PHPによるWebアプリケーションスーパーサンプル 活用編
出版社:ソフトバンククリエイティブ
価格:¥2,993(税込)
上の本以上に、これを持っていない会社って、ないでしょう。
下手な初心者本を買うよりは、こちらを参考書として、サンプルとして、活用・勉強した方がいいです。
人(人材)のいない開発会社だと、これをそのまま使用しているかも(^^)。
非常に役立つ本です。新人研修などにも使えますし、急にPHP案件に放り込まれた人でも、これがあれば安心!
PEARとSmartyのサンプルが、たくさんあるので、ソースを見て学ぶのもいいし、そのまま使うも良し。
pear install -f Text_Diff
■FPDFとMBFPDF
(2009/5/11リンク追記)
http://www.geocities.jp/rui_hirokawa/php/pdf/
http://www.fpdf.org/
面白いので、リンク。 http://www.geocities.jp/rui_hirokawa/scilab/
これも、オモロー。http://www.mlb.co.jp/linux/science/scilab/index.html
これも、関係ないけど、面白いので、リンク。 http://www.mlb.co.jp/linux/science/index.html
いやーすごい。PDFがこんなに簡単にできるとは。自分で手を動かしていると、すごさがわかるな。それにしてもこの日本語対応させるソースを見ていると、よく作れるよなぁーと感心する。
もう、1時過ぎたけど、面白すぎて寝られへんやん(^^)
pear install -f Net_UserAgent_Mobile
メモ:最新のモバイル端末などのagentは書いていないので、別途書き足す必要あり。でもすごく、DoCoMo.phpとか見てると勉強になります。
キャリアのロングネーム:DoCoMo, EZweb, Vodafone
キャリアのショートネーム:I:ドコモ, E:Ezweb, V:Vodafone
■P187 Amazon Webサービス
pear install -f Services_Amazon
書籍では、XML_Parser,XML_Serializer,XML_Utilのインストールも書かれてますが、上記コマンド発行時に、依存関係のあるものを合わせてインストールしてくれるようになっているので(2009/3/10)、すぐに使えました。
かなり前からマッシュアップとかAmazon Webサービスやりたかったんだけど、やっとできた(^^)。
ところで、SubscriptionIDを指定する必要があるのですが、今は、Your Access Key IDに名称が変わっているみたいですね。
探しても見つからないから、試しにYour Access Key IDを入れたら、動きました。
■画像認証機能・・・・ブログ登録などで、おなじみですね。絵で描写されている文字列を手入力させて認証するアレです。
pear install -f Text_CAPTCHA
pear install -f Image_Text
pear install -f Text_Password
どうも、できないので、調べねば・・・。
エラーが発生しました
Fatal error: Call to a member function toString() on a non-object in C:\Program Files\Apache Group\Apache2\htdocs\sample2\chap6\6_3\img_auth.php on line 36
■正誤表
出版社のWebで、正誤表があります。
http://www.sbcr.jp/books/errata/art.asp?newsid=2309
学習書籍・・・symfony×PHP [LLフレームワークBooks] (LLフレームワークBOOKS # 3)
■symfony×PHP [LLフレームワークBooks] (LLフレームワークBOOKS # 3)
出版社:技術評論社
価格:¥2,079(税込)
読者の対象は、次のような感じの人だと思います。
・PHP経験はあるが、フレームワーク初めての人。
・今度、PHPでの開発でフレームワークを使うことになり、どのフレームワークが良いか検討・検証したいが時間がない人。
・Ruby on Railsを一通り触った後、PHPのフレームワークを知りたくなった人
・書籍通りやっていくと、すんなりフレームワーク体験したいと思う人。
私は、この本を随分前に購入して、ようやく動かす時間ができたんですが、Ruby on Railsをやっていただけあって、ディレクトリ構成に多少違和感を感じたくらいで、スムーズに進めました。
触った後の感想を言えば、「自分は、やっぱ、Ruby on Railsがいいな」でした。
この本自体は、薄めのビギナー層を対象に作成されているはずなので、現場で既に使用している人が「購入しても得るものは少ないかなぁーと思います。
アマゾンのレビューで辛い評価をしている人もいますが、この本自体ビギナー向けですからね。
学習書籍・・・10日でおぼえるPHP5 入門教室
■10日でおぼえるPHP5 入門教室
出版社:翔泳社
価格:¥2,940(税込)
アマゾンのレビューでは、あれやこれやと書かれていますが、書籍としては、買ってよい内容だと思いますよ。
1日目:ieHTTPHeadersを使い、HTTPヘッダーを覗くことを習慣にする。
※ちなみに下記は、WiresharkでのCapture画像です。
★関連サイト
@ITの 「Webアクセスをモニタする」
2日目:クエリとポストの違いが学べる。
PHPメモ・・・Smartyのインストール
1.http://www.smarty.net/download.php より Smarty-2.6.19.tar.gz をダウンロード。
2.tar xvzf Smarty-2.6.19.tar.gz を解凍展開
3.cd Smarty-2.6.19
4.cat INSTALL を、読む。
5.(Fedora8の場合)
/etc/php.iniを開き、include_pathを追加設定する。
include_path = ".:/usr/lib/php/Smarty"
Apache(正確には、httpd)の再起動は、10で行う。
6.mkdir /usr/lib/php/Smarty
7.(3より、現在カレントディレクトリは、解凍展開したSmarty-2.6.19)
cd libs で移動。ここにあるファイル・ディレクトリを全てコピーする。
cp -R * /usr/lib/php/Smarty-2.6.19
8.
9.確認する。
ls -la /usr/lib/php/Smarty/
合計 204
drwxr-xr-x 4 root root 4096 2008-05-02 14:03 .
drwxr-xr-x 5 root root 4096 2008-05-02 14:02 ..
-rw-r--r-- 1 root root 12742 2008-05-02 14:02 Config_File.class.php
-rw-r--r-- 1 root root 63466 2008-05-02 14:02 Smarty.class.php
-rw-r--r-- 1 root root 92347 2008-05-02 14:02 Smarty_Compiler.class.php
-rw-r--r-- 1 root root 3562 2008-05-02 14:03 debug.tpl
drwxr-xr-x 2 root root 4096 2008-05-02 14:03 internals
drwxr-xr-x 2 root root 4096 2008-05-02 14:03 plugins
10. /etc/rc.d/init.d/httpd restart
11.
12.
13.
14.
学習書籍・・・
学習書籍・・・
学習書籍・・・

