Heim > Backend-Entwicklung > PHP-Tutorial > CodeIgniter-Einführungs-Tutorial Teil 1: Informationsveröffentlichung

CodeIgniter-Einführungs-Tutorial Teil 1: Informationsveröffentlichung

WBOY
Freigeben: 2016-08-10 08:48:40
Original
984 Leute haben es durchsucht

1. MVC

CodeIgniter übernimmt die MVC-Architektur: Kontrollschicht, Modellschicht und Ansichtsschicht.

Entspricht dem Ordner unter Anwendung (Abbildung 1):

Alle neuen Dateien enden mit .php

Der View-Layer-Ansichtsordner wird in der HTML-Vorlage platziert

Das Modell der Modellschicht speichert den Code für Datenbankoperationen

Die Steuerungsschicht speichert den Code für die logische Beurteilung. Sie erhält Daten von der Modellschicht, gibt sie dann in die Ansichtsschicht ein und sendet sie an die Benutzer.

CodeIgniter-Einführungs-Tutorial Teil 1: Informationsveröffentlichung

Abbildung 1

Funktion:

1. Die Vorlage fügt ein Eingabeformular hinzu.

2 einen Empfangsformularcode für die Daten und führen eine einfache Validierung der Benutzereingaben durch.

3. Geben Sie den Titel, den Text und die Veröffentlichungszeit über dem Formular aus.

Verwendete Wissenspunkte: CI-Hilfsklasse (URL) und Eingabeklasse (Eingabe),

und CI ActiveRecord und Übergabe von Werten an Vorlagen.

2. Erstkonfiguration

1. Link zur Datenbank

Datenbankkonfiguration ändern:/application/config/database.php

  'hostname' => 'localhost',
    'username' => 'root',
    'password' => '',
    'database' => 'test',
    'dbdriver' => 'mysqli',
    'dbprefix' => 'ts_',
Nach dem Login kopieren

2. Ändern Sie die Standardroute

Das CI-Framework verwendet eine einzelne Dateieingabemethode und der Zugriff auf die Steuerungsebene muss standardmäßig über index.php erfolgen. Beispielsweise gibt es eine Klasse namens test im Controller-Ordner und test hat eine Funktion namens home

Die Zugriffs-URL lautet: http://www.example.com/index.php/test/home

3. Ausgabeseite

1. Geben Sie die HTML-Vorlage direkt aus

Erstellen Sie zwei neue Dateien im Controller-Ordner und im Ansichtsordner

CodeIgniter-Einführungs-Tutorial Teil 1: Informationsveröffentlichung

Test.php

<?php

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

class Test extends CI_Controller {

    public function home()

    {

        $this->load->view('home');

    }

}

home.php

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

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Home</title>

</head>

<body>

    <h1>这是我们的主页</h1>

</body>

</html>
Nach dem Login kopieren

Öffnen Sie in Ihrem Browser eine Adresse ähnlich der folgenden: http://test.com/index.php/test/home

CodeIgniter-Einführungs-Tutorial Teil 1: Informationsveröffentlichung

2. Datenbankeintrag einfügen

Datenbanktabelle ts_news erstellen

CodeIgniter-Einführungs-Tutorial Teil 1: Informationsveröffentlichung

Test.php

<?php

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

class Test extends CI_Controller {

public function __construct()

{

parent::__construct();

$this->load->helper('url');

$this->load->model('news_model');

}

public function home()

{

$this->load->view('home');

}

public function add_news(){

$title = $this->input->get('title',TRUE);

$content = $this->input->get('content');

if ( (strlen($title) < 20 ) or (strlen($content) < 20 ) ){

echo '标题或正文内容过短';

return false;

}

$arr = array(

'id' => '',

'title' => $title,

'content' => $content,

'update_time' => time(),

'create_time' => time()

);

$check = $this->news_model->insert($arr,'news');

if ($check)

{

redirect('test/home');

}

else

{

echo '提交失败';

}

}

}

home.php

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

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Home</title>

</head>

<body>

<h1>这是我们的主页</h1>

<hr>

<form action="<?php echo site_url('test/add_news'); ?>">

<label for="title">标题</label>

<input type="text" name="title" value="">

<br>

<label for="content">正文</label>

<textarea name="content" cols="30" rows="10"></textarea>

<br>

<input type="submit" value="提交" >

</form>

</body>

</html>

News_model.php

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

class News_model extends CI_Model {

public function __construct()

    {

        parent::__construct();

        $this->load->database();

    }

public function insert($arr,$table)

{

$this->db->insert($table, $arr);

        if ($this->db->affected_rows() > 0)

        {

            return $this->db->insert_id();

        }

        else

        {

            return FALSE;

        }

}

}

412ded80-4884-4a2f-ae37-6ba69cdc4278

493498ee-0f5c-4676-9cec-38e5a3f3e6fd

    3. 查询数据库并输出

    News_model.php增加

public function get_all($table)

    {

        $this->db->select('*');

        $query = $this->db->get($table);

        $query = $query->result_array();

        return $query;

    }

Test.php 的 home修改为:

public function home()

    {

        $news = $this->news_model->get_all('news');

        $data['news'] = $news;

        $this->load->view('home',$data);

    }
Nach dem Login kopieren

Der Hauptteil der Home-Vorlage wird wie folgt geändert:

<body>

<h1>这是我们的主页</h1>

<?php 

foreach ($news as $key => $value) {

echo '<div>

<h3>'.$value['title'].'</h3>

<span>发布时间:'.date('Y-m-d H:i:s',$value['create_time']).'</span>

<p>'.$value['content'].'</p>

</div>';

}

?>

<hr>

<form action="<?php echo site_url('test/add_news'); ?>">

<label for="title">标题</label>

<input type="text" name="title" value="">

<br>

<label for="content">正文</label>

<textarea name="content" cols="30" rows="10"></textarea>

<br>

<input type="submit" value="提交" >

</form>

</body>
Nach dem Login kopieren

Aktualisieren, um den Effekt anzuzeigen:

CodeIgniter-Einführungs-Tutorial Teil 1: Informationsveröffentlichung

Das Obige stellt den ersten Teil des CodeIgniter-Einführungs-Tutorials vor: Informationsveröffentlichung, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage