エプソンダイレクト株式会社

2010年8月5日木曜日

23 Zend Frameworkをインストールする Windows XP

環境
Apache2.2
PHP5

まずZendFrameworkをダウンロードして、解凍したらCドライブ直下に配置する。

c:\windows\php.iniを開き、(Cドライブで php.ini と検索するとすぐに見つかる)
最終行に
include_path = ".;c:\ZendFramework\library\" と記述する

※もし、先にpearなどがインストールされていて
include_path=".;C:\php\pear" というような記述があった場合、

include_path=".;C:\php\pear;C:\ZendFramework\library\"
という様に記述する。

そしてApacheを再起動。

公開ディレクトリに <?php phpinfo();?> が記述されたphpファイルを置き、
http://localhost/ファイル名.php/ でアクセスし、

「include_path .;C:\php\pear;C:\ZendFramework\library\」
というように表示されていればパスの記述は成功




そして次に、
c:\Program Files\Apache Software Foundation\Apache2.2\confhttpd (httpd.conf)
を開き、LoadModule rewrite_module modules/mod_rewrite.so のコメントアウトをはずす

再度Apacheを再起動する。


公開ディレクトリに
<?php
require_once 'Zend/Version.php';
echo Zend_Version::VERSION;
?>
が記述されたphpファイルを置き、http://localhost/ファイル名.phpで
アクセスし、
「1.8.0」
というように表示されればインストール成功

2010年8月4日水曜日

22 .htaccess の作成 CentOS

全てのリクエストをindex.phpで受け取る

SetEnv APPLICATION_ENV development
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ - index.php [NC,L]

21 ze.shコマンドで、Zendframeworkのアプリケーションを作成する CentOS

cd/project/hello/web へ移動 (/var/www/htmlが公開ディレクトリの場合はそちらへ移動)

/usr/local/Zend/bin/zf.sh create project zendapp でエンター

cd/project/hello/webにzendappが作成されていることを確認する

ブラウザから http://www.URL.com/zendapp/public/ でアクセスして
「Welcome to the Zend Framework!」と表示を確認する



<Virtulhost>のDocumentRootを 
/project/hello/web から /project/hello/web/zendapp/public/ に変更

httpdを再起動する

http://www.URL.com でWelocom to ... の画面がでればOK


※centos(Linux) では、zf.batでなくzf.sh

2010年8月2日月曜日

20 MDB2 のインストール pear

#pear list コマンドで、MDB2が入っているかを確認する
→入っていないのでインストール

#pear install MDB2 エンター
→MDB2: Optionalfeature ... とリストが表示される

リストの表示が終わったら、再度pear listコマンドを入力してエンター
→ MDB2 2.4.1 stable という表示を確認

次に、MDB2_Driver_mysqliを インストールする
→ #MDB2_Driver_mysql を入力してエンター

pear list コマンドを入力して、
MDB2_Driver_mysqlがインストールされていることを確認する

19 Twitter投稿の文字数が140文字を超えた場合の処理

140文字を超える場合は、135文字まで表示して、以降.....を表示させる

/usr/lib/php/modulesmbstring.soが存在することを確認
→もしなかった場合は yum install php-mbstring でインストールする

/etc/php.iniを開いて、623行目の
[Dynamic Extensions] のセクションに、

extension=mbstring.so
/etc/php.d/mbstring.ini

と2行追記する

それから、/etc/php.d/mbstring.iniを開き、
「Enable mbstring extension module」 のコメントアウトを外す

そしてhttpdを再起動 (mbstring 拡張が有効になる)

ソースを記述して投稿をテストする

<?php
require_once('Zend/Service/Twitter.php');

$id = 'ohgon_test';
$password = 'kanariyabaimachi';
$twitter = new Zend_Service_Twitter($id, $password);

$word ='140文字以上入力';

if(mb_strlen($word)> 140 )
{
$word = mb_substr( $word , 0 , 135 );
$word .= "... ";
}

$response = $twitter->status->update($word);

?>

2010年8月1日日曜日

18 ZendFramework を使ってTwitter に投稿する

/project/hello/web/に .phpファイルを作成する。
※このとき、必ず文字コードにUTF-8を指定する
 →そうしないと日本語が出力されない

<?php
require_once('Zend/Service/Twitter.php');

$id = 'アカウント名';
$password = 'パスワード';
$twitter = new Zend_Service_Twitter($id, $password);

$response = $twitter->status->update('投稿したい内容');

?>
を記述し、保存する。

http://URL/ファイル名.php にアクセスすると、
記述した投稿内容が投稿され、タイムラインに表示される。

17 ZendFramework を使って Flicer の画像を表示する

http://www.flickr.com/services/api/ にアクセスする

API Keys をクリック

Yahoo ID(.jpでなく.com) とパスワードを入力

CREATE NEW ACCOUNT をクリックする

アカウントが作成されたら、Get Another Key をクリックする

Non-Commercial (非商用)の
APPLY FOR A NON-COMMERCIAL KEY をクリックする

What's the name of your app:、What are you building?:
にそれぞれ適当な文字を入力し、2箇所のチェックをつけ、APPLYをクリックする

Key: Secret: が表示されるのでこれを控える

<?php
require_once 'Zend/Service/Flickr.php';
$flickr = new Zend_Service_Flickr('xxxxxx');
$results = $flickr->tagSearch("表示したい内容");
foreach ($results as $result) {
echo("<img src='" . $result->Thumbnail->uri . "' />");
}
?>

'xxxxxx'にKey:、そして表示したい内容をtagSearchに記述して、保存する

http://www/URL/ファイル名で表示されればOK

16 symfonyからブリッジしてZendFramework をインストール CentOS

/usr/local/ にZendFrameworkをダウンロードする
cd /usr/local
wget http://framework.zend.com/releases/ZendFramework-1.10.0/ZendFramework-1.10.0.tar.gz

ダウンロードしたらファイルを解凍する
tar -xvzf ZendFramework-1.10.0.tar.gz

名前を短くZendとする
mv ZendFramework-1.10.0 Zend

/etc/php.iniを開き、515行目の ;UNIX: "/path1:/path2"の下の
;include_path = ".:/php/includes" のコメントアウトを外し、
include_path=".:/usr/local/Zend/library"
と記述し、パスを追加する

パスを追加したらファイルを保存して、httpdを再起動する。

再起動後、/project/hello/web/ にphpinfo() 関数が書かれたファイルを置いて、
include_path の項目に .:/usr/local/Zend/library と右側に表示されているか確認する。

ZendFrameworkが配置されたら次に、/project/hello/config/に、
autoload.ymlファイルを作成する

そして、
autoload:
# zendframework
zendframework_lib:
name: zendframework lib
path: /usr/local/Zend/library
recursive: on

と記述する

cd /project/hello でアプリケーションディレクトリに移動し
symfony cc コマンドを入力してエンターする 

※このときアプリケーションのディレクトリに移動していないと、
"You must be in a symfony project directory"とエラーが出る。

/project/hello/web/ にphpファイルを作成し

<?php
require_once ‘Zend/Version.php’;
echo Zend_Version::VERSION;
?>
 と、ZendFramework の バージョンを出力するソースを記述する

http://ohgon-town/ファイル名.phpでアクセスして、
1.10.0

と、ダウンロードしたバージョンが表示すればインストール成功

15 symfony モジュールの開発 CentOS

frontアプリケーションにindexというモジュールを作成して、
hello!worldを出力するモジュールを作成する。


cd /project/hello コマンドで、プロジェクト用のディレクトリへ移動

symfony init-module front index コマンドを入力してエンター

→/project/hello/apps/front/modules/ 配下にindexモジュール(indexSuccess.php)ができていることを確認、
http://www.ohgon-town.com/indexへアクセスして、「Module "index" created」 の画面を確認する。

/project/hello/apps/front/modules/index/templates/indexSuccess.php を開き、Hello!World! など
出力させたい内容を記述する。

/project/hello/apps/front/modules/index/templates/actions.class.php を開き、
18行目から21行目の

public function executeIndex(sfWebRequest $request)
{
$this->forward('default','module');
}

という記述の $this->foward.... の行をコメントアウト(して、return sfView::SUCCESS;と記述)
する。

http://www.ohgon-town.com/indexに再度アクセスして「Hello!World!」と表示されれば成功