smartyのconfig_load()でNoticeエラー [PHP]
第6回 Smartyを使って実用的なページを作ってみる(その2)
> $smarty->config_load ('smartysample/configs/app.conf');
Notice: function call 'config_load' is unknown or deprecated
smartyのバージョンが3にあがって、変更になったAPIらしい。下記の通り修正して動作確認。
> $smarty->configLoad ('smartysample/configs/app.conf');
date_format の '%d' が [PHP]
smartyを学習中。
今日は{$smarty.now|date_format:'%Y年%m月%d日 '}です。
という テンプレートを実行してみると
今日は2011年09月%d日 です。
となり、日付の部分だけ変換されない。
なぜかは不明。
[%d] の前にスペースを入れてみたら正しく表示された。なぜ
PHP入門 とりあえず終了 [PHP]
この記事をもとに勉強してきたが、一通り終了。
幸い、かなり自由な時間がとれたので予定より早めに終えることができた。
作業時間は合計約20時間。
これからはさらに以下のあたりをやっていく。
- テンプレートエンジン(smarty)
- フレームワーク(cakePHP or Zend FrameWork か検討中)
- セキュリティ関連
- PHPUnitによる単体テスト自動化
まず、下記のサイトでSmartyを。
Smarty講座 全14回
とりあえず、チケット登録から開始する。
PEARでエラーメッセージ [PHP]
eclipseプロジェクトの位置 [PHP]
サンプルコードを テキストエディタ+ブラウザ で実行していたが、せっかくだからeclipseで動かす。
が、プロジェクトはどこにおくのがいいのか?
(1) C:\xampp\htdocs
(2) C:\xampp\apache\conf\httpd.conf に以下の設定追加。
Alias /eclipse "C:/workspace"
<Directory "C:/workspace/">
Options Indexes MultiViews
Order deny,allow
Allow from all
</Directory>
(3)バーチャルサーバ?
実行環境と開発環境は分けたいので、とりあえず(2)で対応。
問題があったらその時に対応することに。
サンプルプログラムでNOTICEメッセージ [PHP]
入力フォームを使ってデータを送受信しよう!プログラミング未経験から始めるPHP入門(5)
下記のサンプルプログラムを実行したところ、 NOTICEメッセージが表示された。
(ソース complete.php 抜粋)
<?php print( $_REQUEST["check1"] ); ?><br>
<?php print( $_REQUEST["check2"] ); ?><br>
<?php print( $_REQUEST["check3"] ); ?><br>
(NOTICEメッセージ)
Notice: Undefined index: check3 in C:\xampp\htdocs\complete.php on line 17
<input type="checkbox" name="check1" value="検索エンジン"/> 検索エンジン経由で<br>
<input type="checkbox" name="check2" value="ポスター"/> ポスターを見て<br>
<input type="checkbox" name="check3" value="その他"/> その他<br>
入力フォームでチェックを行わない場合のフィールドに対して表示される模様。
調査の結果の解決策:
(1)isset()で初期化チェック
<?php if ( isset($_REQUEST["check1"]) ) print( $_REQUEST["check1"] ); ?><br>
(2)@でメッセージを抑制
<?php print( @$_REQUEST["check1"] ); ?><br>
(3)エラーレベルを変更
下記を先頭に追加。
<?php error_reporting(E_WARNING); ?>
プログラミング未経験から始めるPHP入門 [PHP]
とりあえず、ここでお世話になることに決定。
スケジュールをたてて進捗管理しないと、絶対途中で挫折してしまうので、
MylynとTracLightで管理していく。
(1) TracLightにプロジェクト作成
(2) 「プログラミング未経験から始めるPHP入門」のタスク登録
- プログラムって何だろう? PHPってどういうもの? プログラミング未経験から始めるPHP入門(1)
- XAMPPをインストールして開発環境を整えよう! プログラミング未経験から始めるPHP入門(2)
- 変数の扱い方を習得しよう! プログラミング未経験から始めるPHP入門(3)
- 条件分岐と繰り返しを使いこなそう! プログラミング未経験から始めるPHP入門(4)
- 入力フォームを使ってデータを送受信しよう! プログラミング未経験から始めるPHP入門(5)
- データベースの基礎を理解しよう! プログラミング未経験から始めるPHP入門(6)
- PHPを使ってデータベースを操作しよう! プログラミング未経験から始めるPHP入門(7)
- ECサイトの設計書を理解しよう! プログラミング未経験から始めるPHP入門~応用編(1)
- ECサイトの商品一覧画面を作成しよう! プログラミング未経験から始めるPHP入門~応用編(2)
- ECサイトの会員登録画面・ログイン機能を作成しよう! プログラミング未経験から始めるPHP入門~応用編(3)
- PEARライブラリを使ってプログラムのブラッシュアップに挑戦してみよう! プログラミング未経験から始めるPHP入門~応用編(4)
- セキュリティ対策をしてみよう! プログラミング未経験から始めるPHP入門~応用編(5)
- ECサイトの商品詳細画面を作成しよう! プログラミング未経験から始めるPHP入門~応用編(6)
- ECサイトのカート機能を作成しよう! プログラミング未経験から始めるPHP入門~応用編(7)
- ECサイトの注文完了機能を作成しよう! プログラミング未経験から始めるPHP入門~応用編(8)
- プログラムをブラッシュアップするテクニックを学ぼう! プログラミング未経験から始めるPHP入門~応用編(9)
PHPをどう学んでいくか [PHP]
環境もできたし、さて、どのサイトでPHPを勉強させてもらおうかとネット上をうろうろしていたら、
考えさせらるブログと出会った。
http://blog.webcreativepark.net/php/
スクリプト言語とは、随分と危険なものだなと。
PHPの問題点なども色々書いてあり、PHPを選ぶべきではなかったのか?とも思うが、
問題があると知りつつ学べば、それも有意義であると思う。
ここで進められているこの本、理解できるようになったら必ず読んで勉強しよう。
「よくあるWebアプリケーションの脆弱性」 がこんなにあるなんて。
XAMPPでphpadmin起動エラー [PHP]
eclipseと一緒にインストールしたXAMPPのapacheやMySQLで問題あり。
(1)現在の環境でTracLightを起動していているのでapacheがサービスとして実行中。
XAMPPのapacheが起動できない
--> とりあえず TracLightのサービスを手動起動にして、必要な時にはXAMPPのapacheを停止することに。
XAMPPのapacheはサービスに登録し、自動起動とした。
--> 面倒なので、ポート番号を変えて、apacheを2つ起動させておくことにした。
将来的にはどうにかもっとスマートな対応を考えよう。
(2)http://localhost/xampp/index.php のXAMPP管理画面からphpMyAdminを起動すると、以下のエラーとなる。
#2002 - サーバが応答しません (あるいはローカルの MySQL サーバのソケットが正しく設定されていません)
設定ファイルに定義されている管理ユーザ(controluser)での接続に失敗しました
--> %xampp_dir%\C:\xampp\phpMyAdmin\config.inc.php を以下のように修正。
< $cfg['Servers'][$i]['extension'] = 'mysql';
> $cfg['Servers'][$i]['extension'] = 'mysqli';
修正後、OS再起動で解決した。
(3)MySQL, Mercury, FileZilla は起動は確認したけど、動作未確認。
そのうちやってみる。
PHPのテスト [PHP]
PHPを始めるにあたって、JavaのJUnitと同じようにテストの自動化したいので、PHPUnitをインストールしておく。
PHPのパッケージを入れる場合、pearというものを使うらしい。
下記のサイトを参考に。
- http://nyx.pu1.net/aboutphp/install/installpear.html (PHPスクリプト講座:PEARのインストール -- そふぃのphp入門)
- http://lazesoftware.com/blog/11/0213/ (PHPUnitをXAMPPにインストール - LAZE SOFTWARE)