PHP オープンソース開発フレームワークの使用における一般的な問題の説明と解決策 ZendFramework_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:28:21
オリジナル
828 人が閲覧しました

MVCコードの記述:
コントローラーコードの記述:

コードをコピーします コードは次のとおりです:

class IndexController extends Zend_Controller_Action
{
function init()
{
$this->registry = Zend_Registry::getInstance() ;
$ this ->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();

}
functionindexAction()
{
$this->view->word="私はスパーズが大好きです";

echo $this->view->render("index.html");

}
function addAction(){
//POSTからの値の場合は追加します、それ以外の場合は追加ページを表示します


}
}
?>

コンテンツの制御と書き込み:

コードをコピーします コードは次のとおりです:

$this->view->word="ggg";
$this->view->render("index.html") );
- --->index.html echo $this->word;

アプリケーション->config.ini
[一般]
db.adapter=PDO_MYSQL
db.config.host=localhost
db.config.username=root
db.config.password=
db.config.dbname=think_zw

設定ファイルをフレームワークに導入します

コードをコピーします コードは次のとおりです:

//データベースパラメータを設定し、データベースに接続します
$config=new Zend_Config_Ini('./application/config/config.ini',null, true );
Zend_Registry: :set('config',$config);
$dbAdapter=Zend_Db::factory($config->general->db->adapter,$config->general->db ->config- >toArray());
$dbAdapter->query('SET NAMES UTF8');
Zend_Db_Table::setDefaultAdapter($dbAdapter);
Zend_Registry::set('dbAdapter',$dbAdapter) ;

シングルエントリーモード: localhost/index/add/インデックスモジュールの下の追加メソッドにアクセスします
関数 addAction(){} (IndexController.php内)
デフォルトのアクセスはインデックスモジュールの下のインデックスメソッドです

モジュールモデルに別のmessage.phpを作成します

コードをコピー コードは次のとおりです:

class Message extends Zend_Db_Table
{
protected $_name ="message";
protected $_primary = 'id';
}
? >

モジュールのインスタンス化:

コードをコピーします コードは次のとおりです:
functionindexAction()
{
$message=new message();//データベースクラスをインスタンス化します

//データベースの内容を取得します

$this->view->messages=$message->fetchAll()->toArray();
echo $this->view->render('index.phtml') // テンプレートを表示

}

messages as $message): ?>


;

?>


;

******************データの変更と削除


コードをコピー コードは次のとおりです:
kk

ll



index.phtmlにを追加

コードをコピーします コードは次のとおりです:
Edit
< a href="baseUrl?>/index/delete">削除


新しいメソッドを追加: edit.phtml

コードをコピーします コードは次のとおりです:

関数 editAction(){

$message = 新しいメッセージ();
$db = $message->getAdapter();

if(strto lower($_SERVER['REQUEST_METHOD'])=='post'){
$id = $this->_request->getPost('id');
$cid = $this->_request ->getPost('cid');
$title = $this->_request->getPost('title');

$set = array(
'cid'=>$cid,
'title'=>$title
);
$where = $db->quoteInto('id = ?',$id);
//データ更新
$message->update($set,$where);
unset($set);
echo '修正データベース成功!返し';
}else{
$id = $this->_request->getParam('id');
$this->view ->messages = $message->fetchAll('id='.$id)->toArray();
echo $this->view->render('edit.phtml');
}
}


function delAction(){
$message = new Message();
$id = (int)$this->_request->getParam('id');

if($id > 0){
$where = 'id = ' . $id;
$message->delete($where);
}
echo '删除数据成功!戻る';
}

异常出现:

复制代码代码如下:

致命的エラー:キャッチされない例外「Zend_Controller_Dispatcher_Exception」とメッセージ「無効なコントローラーが指定されました (index.php)」が
で発生しました

解决办法:index.php内にある

复制代码代码如下:

$frontController =Zend_Controller_Front::getInstance();後加上
$frontController->setParam('useDefaultControllerAlways', true);

*******
id/3 等以前より?id=3

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/788645.html技術記事 MVC 代码书書: 制御器代码书書: 复制代码如下: ?php class IndexController extends Zend_Controller_Action { function init() { $this-registry = Zend_Registry...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!