サーチ…


非常に単純なHello Worldアプリケーション

Codeigniter 3を新しくインストールしてから、Hello Worldアプリケーションを使い、この固いPHPフレームワークで氷を砕くための簡単な方法です。

これを行うには、Hello Worldアプリケーション用に表示したいビューの作成を開始することができます。

あなたのアプリケーションフォルダに入れます:

hello_world.php/application/views/ )で

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Hello World</title>
</head>
<body>

    <h1>Hello World!</h1>

</body>
</html>

単なるHTMLコンテンツです。

今、このビューを表示するには、 コントローラが必要です。コントローラは、コンテンツを表示するためにビューを呼び出すコントローラです。

正しく動作させるには、コントローラーを適切なコントローラー・フォルダーに入れる必要があります。

Hello Worldコントローラを配置する場所は次のとおりです。

/application/controllers/Hello_world.php

(コントローラの名前は一般的に最初の文字が大文字のsnake_caseです

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hello_world extends CI_Controller {

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

    public function index(){
        $this->load->view('hello_world');
    }

}

コントローラのデフォルト機能はインデックス関数です。

これで、あなたのHello Worldページの内容が次のアドレスにアクセスするのを見ることができます:

http://[your_domain_name]/index.php/hello_world

または、.htaccessを使用して修正プログラムを適用した場合(修正プログラムのインストールページに戻ってください)

http://[your_domain_name]/hello_world

(あなたがローカルで作業している場合は、 http://localhost/hello_worldページが見つかるhttp://localhost/hello_world

URLは、実際にはコントローラクラス(この場合はHello_worldですが、URLのすべての小文字を使用しています)を呼び出すことで形成されます。この場合、インデックス関数を使用したので十分です。別の関数名を使用した場合( greetingsと言う)、次のようなURLを使用する必要があります。

http://[your_domain_name]/hello_world/greetings

/[controller_name]/[method_name]ます。

どうぞ!あなたの最初のCodeigniterアプリケーションが動作しています!

コントローラをもう少し使ってみましょう

ここでは、コントローラの機能を使用してビューを埋め込む少し複雑な例を試してみましょう。

ここに私たちの見解があります: /application/views/hello_world.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Hello World</title>
</head>
<body>

<h1><?php echo $greetings;?></h1>

</body>
</html>

これで、挨拶のためのプレースホルダが表示されます。

これを行うためにコントローラを変更する方法は次のとおりです。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hello_world extends CI_Controller {
    
    public function __construct() {
        parent::__construct();
    }

    public function greetings(){
        $data = array('greetings'=>'Hello World');
        $this->load->view('hello_world',$data);
    }
}

$data配列は、ビューの中に呼び出された同じラベル( greetings )を使用して、ビューに注入される情報とともに準備されます。

最終的な結果は最初の例と同じですが、現在はフレームワークの可能性をより多く使用しています!

私たちの挨拶を選んでみましょう:こんにちはワールドか、さようならワールドか...?

たとえば、別のURLからアクセスできる別の挨拶をしたいとします。新しい機能や新しいコントローラーを作成するかもしれませんが、ベストプラクティスは、既に持っているものを最適化して、最高の状態で動作させることです!

これを行うには、前の例と同じビューを維持しますが、2つの異なるグリーティングの間で選択できるように、関数にパラメータを導入します。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Hello_world extends CI_Controller {
    
    public function __construct() {
        parent::__construct();
    }

    public function greetings($my_greetings){
        switch($my_greetings)
        {
            case 'goodbye':
                $say = 'Good Bye World';
            break;
            case 'morning':
                $say = 'Good Morning World';
            break;
            default:
                $say = 'Hello World';
        }
        $data = array('greetings'=>$say);
        $this->load->view('hello_world',$data);
    }
}

今度は複数の挨拶のオプションがあります!それらを視覚化するために、次のようにURLにパラメータを追加します。

http://[your_domain_name]/hello_world/greetings/goodbye

これは私たちに "Good Bye World"というメッセージを表示します。

URLの構造は次のとおりです。

http://[your_domain_name]/[controller_name]/[function_name]/[parameter_1]

この場合、古い「Hello World」に戻すには、パラメータを指定せずに元のURLを呼び出すだけで十分です。

http://localhost/hello_world/greetings

関数に複数のパラメータを追加することができます(たとえば、3つが必要な場合)。

public function greetings($param1,$param2,$param3)

次のようにURLを使用して記入することができます。

http://[your_domain_name]/[controller_name]/[function_name]/[param1]/[param2]/[param3]

http://localhost/hello_world/greetings/goodbye/italian/red

これにより、URLから直接パラメータを渡すことができ、表示される内容に影響を与えます。

URLを通じてパラメータを渡す方法の詳細については、ルーティングのトピックを参照してください。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow