検索
ホームページphp教程PHP开发CodeIgniter の学習メモ 項目 2 -- CI の MVC

1. CI のコントローラー

CI を通じて独自のプロジェクトを作成するには、CI 圧縮パッケージ内のアプリケーション ディレクトリ、システム ディレクトリ、index.php ファイルを独自のプロジェクト ディレクトリにコピーするだけです。独自のコードはすべてアプリケーション ディレクトリ内で編集し、将来 CI の新しいバージョンがリリースされた場合は、システム ファイルの内容を変更するだけで済みます。アップグレード中にトラブルが発生しました。

CodeIgniter の学習メモ 項目 2 -- CI の MVC

コピーが完了したら、次の URL から新しいプロジェクトのホームページを開きます: http://localhost:8080/testCodeIgniter/

CodeIgniter の学習メモ 項目 2 -- CI の MVC

このページを通じて、CI は現在ビューが表示されるのは、welcome_message.php です。 現在使用されているコントローラーは、

/application/controllers/Welcome.php

ファイルを開くために Welcome.php

です。このファイルには、ビュー

welcome_message

[code]<?php
defined(&#39;BASEPATH&#39;) OR exit(&#39;No direct script access allowed&#39;);

class Welcome extends CI_Controller 
{
    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *         http://example.com/index.php/welcome      *    - or -
     *         http://example.com/index.php/welcome/index      *    - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it&#39;s displayed at http://example.com/      *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see http://codeigniter.com/user_guide/general/urls.html      */
    public function index()
    {
        $this->load->view(&#39;welcome_message&#39;);
    }
}
?>

が 1 つだけあります。 view file

welcome_message.php

/application/views

ディレクトリにロードされます

URL 経由でコントローラーにアクセスするには、pathinfo を使用します。形式は、protocol://ドメイン名/エントリ ファイル/コントローラー/メソッド名、保護されています。パス情報アクセス

上記の制御ファイルにテストメソッドを追加します。 Welcome.php:

[code]public function test()
{
    echo "这是Welcome控制器的test方法";
}

pathinfo(http://localhost:8080/testCodeIgniter/index.php/Welcome/test)

を通して、Welcomeコントローラーのテストメソッドを呼び出すことができます

新しいユーザーを作成しますコントローラー (インデックス メソッドを含む)

[code]<?php
class User extends CI_Controller 
{
    public function index()
    {
        echo &#39;user---index&#39;;
    }
}
?>

コントローラーは CI_Controller クラスから継承する必要があります

ユーザー コントローラーのインデックス メソッドには、pathinfo を通じてアクセスできます: http://localhost:8080/testCodeIgniter/index.php/user/index

CodeIgniter の学習メモ 項目 2 -- CI の MVC

注: pathinfo は大文字と小文字を区別します。CI3.0 バージョンでテストした後は、大文字と小文字が区別されません

2 CI のビュー

CI がビューをロードするときに、コントローラーがビューをロードします。コントローラー、ビューのファイル名は

[code]$this->load->view(&#39;/user/index&#39;);

を呼び出すことでindex.phpになります。この時点では、ファイル接尾辞を追加する必要はありません。ファイルのパスは application/views ディレクトリの相対パスに基づきます

ビューファイルは PHP ネイティブ コードであり、HTML コードは必要ありません

複数のビューをコントローラーにロードでき、ドキュメントに従ってロードできます構造によりビューが上から下に順番にロードされます

[code]<?php
    echo "这是user视图";
?>

コントローラーは変数

2 つの方法:

1. 単一変数

[code]$this->load->vars(&#39;title&#39;, &#39;这是标题&#39;);


2. 変数のバッチを割り当てる

[code]$data[&#39;title&#39;] = &#39;这是标题&#39;;
$data[&#39;list&#39;] = $list;
$this->load->vars($data);

どちらの割り当て方法でも、

$title

を使用できますりー

これは単なる例であり、実際のプロジェクトであり、データはモデルから取得する必要があります

モデル ファイルの名前は小文字である必要があります。

system/core/loader.php

的model方法中,会将传入的模型名称转成小写再去寻找对应的文件,但是类名必须是首字母大写并且拼装“

_model

”,拼装后的结果应与模型文件的文件名一致,只是首字母大写,例如:文件名是

user_model.php

,类名应该是

User_model



– user_model.php文件 

[code]<?php
    class User_model extends CI_Model
    {

        function __construct()
        {
            parent::__construct();
        }

        function getAllUser()
        {
            $this->load->database();
            $result = $this->db->get(&#39;blog_user&#39;);
            return $result->result();
        }
    }
?>

在控制器中这样调用

[code]// 加载模型,通过第二个参数还可以指定别名,后面的代码使用别名访问 
$this->load->model(&#39;user_model&#39;);
// 加载完成后,超级对象就生成了user_model属性,它是User_model类型的对象
$list = $this->user_model->getAllUser();
// 将数据传给视图
$this->load->view(&#39;user_view&#39;, array(&#39;list&#39;=>$list));

原则上,除了关系表,每张实体表都应该对应一个模型

 以上就是CodeIgniter学习笔记 Item2--CI中的MVC的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境