PHP框架CodeIgniter入门使用(2)
PHP框架CodeIgniter入门使用(2)
本文参考 链接 介绍CodeIgniter如何将Controller连接Model层(操作数据库),实现读取新闻条目功能。通过本文串通Controller和Model以及View之间如何协同,控制。
一,创建Model
有一点需要明确,关于数据库的操作在model层,而非Controller层,Controller只负责业务控制逻辑,从model里取数据然后送给view。phpmyadmin里:
CREATE TABLE news ( id int(11) NOT NULL AUTO_INCREMENT, title varchar(128) NOT NULL, slug varchar(128) NOT NULL, text text NOT NULL, PRIMARY KEY (id), KEY slug (slug) );
在models文件夹下新建News_model:
load->database(); } public function get_news($slug = FALSE){ if($slug == false){ $query = $this->db->get('news'); return $query->result_array(); } $query = $this->db->get_where('news', array('slug' => slug)); return $query->row_array(); } }
二新建Controller
News.php
load->model(news_model); $this->load->helper('url_helper'); } /** * 显示所有新闻 */ public function index(){ $data['news'] = $this->news_model->get_news(); $data['title'] = 'News archive'; $this->load->view('templates/header', $data); $this->load->view('news/index', $data); $this->load->view('templates/footer'); } /** * 显示某一个slug的新闻 * @param null $slug */ public function view($slug = NULL) { $data['news_item'] = $this->news_model->get_news($slug); if (empty($data['news_item'])) { show_404(); } $data['title'] = $data['news_item']['title']; $this->load->view('templates/header', $data); $this->load->view('news/view', $data); $this->load->view('templates/footer'); } }
1,Controller如何加载Model?
在News的构造函数里通过load->model('')里将model目录下对应名字的model加载进来,然后再使用时通过$this->news_model进行调用。
2,Model的名字是不区分大小写的,即真正的model可以大写,在load的时候可以写成小写。
3,Controller如何跟view层发生关系?
通过$this->load->view('')加载view文件夹下的文件,传递一个array。在Controller里的array的key,在view下就是对应的变量名字。关于传递数据这块可以参考 CI的模版解析类部分。
4,通过代码可以看到,News这个控制器加载了view/news文件夹下的index.php 和view.php
三,新建index.php
>View article
注意:此处用了site_url设置超链接,用意是地址栏里输入news/slug能直接跳转到news/view/slug,因此要设置路由。
view.php
'.$news_item['title'].''; echo $news_item['text'];
四,修改routes.php
在原来基础上,增加以下两句:
$route['news'] = 'news'; $route['news/(:any)'] = 'news/view/$1';
五,配置数据库
在database.php里配置下数据库相关信息。
经过以上5步,一切ok。
浏览器输入:http://localhost/~yanzi/CodeIgniter/index.php/news
点击超链接后http://localhost/~yanzi/CodeIgniter/index.php/news/slug1111 转到以下:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

AIは、作曲家の使用を最適化するのに役立ちます。特定の方法には次のものが含まれます。1。依存関係管理の最適化:AIは依存関係を分析し、最適なバージョンの組み合わせを推奨し、競合を減らします。 2。自動コード生成:AIは、ベストプラクティスに準拠したComposer.jsonファイルを生成します。 3.コードの品質を改善する:AIは潜在的な問題を検出し、最適化の提案を提供し、コードの品質を向上させます。これらの方法は、開発者が効率とコードの品質を向上させるのに役立つ機械学習および自然言語処理技術を通じて実装されています。

Laravelは、次のようなWeb開発プロセスを最適化します。1。ルーティングシステムを使用してURL構造を管理します。 2。ブレードテンプレートエンジンを使用して、ビュー開発を簡素化します。 3.キューを介して時間のかかるタスクを処理します。 4. Eloquentormを使用して、データベース操作を簡素化します。 5.ベストプラクティスに従って、コードの品質と保守性を向上させます。

IISでPHPの構成と実行には、次の手順が必要です。1)PHPをダウンロードしてインストールする、2)IISの構成とFastCGIモジュールの追加、3)アプリケーションプールの作成とセットアップ4)Webサイトを作成してアプリケーションプールにバインドします。これらの手順を通じて、スケーリングと最適化パフォーマンスを構成することにより、WindowsサーバーにPHPアプリケーションを簡単に展開し、アプリケーションの安定性と効率を向上させることができます。

HTML5は5つの重要な改善をもたらします。1。セマンティックタグにより、コードの明確性とSEO効果が向上します。 2.マルチメディアサポートは、ビデオとオーディオの埋め込みを簡素化します。 3。フォームエンハンスメントは、検証を簡素化します。 4.オフラインおよびローカルストレージにより、ユーザーエクスペリエンスが向上します。 5。キャンバスとグラフィック機能は、Webページの視覚化を強化します。
