codeigniter
始めましょう:Hello World
サーチ…
非常に単純な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を通じてパラメータを渡す方法の詳細については、ルーティングのトピックを参照してください。