Heim Backend-Entwicklung PHP-Tutorial CodeIgniter框架学习要义

CodeIgniter框架学习要义

Jun 13, 2016 pm 12:23 PM
codeigniter gt nbsp php this

CodeIgniter框架学习要点

以下内容从兄弟连的CI教学视频中摘抄:

http://codeigniter.org.cn/tutorials/

 

-----------------------------------------------------------------------------------------------

 

Codeigniter框架

 

-----------------------------------------------------------------------------------------------

 

                                                                            讲师:邹义良

                                                                    微博:weibo.com/it266

 

-----------------------------------------------------------------------------------------------

主要内容

 

    CI简介

 

    深入MVC设计模式

 

    CI中的控制器与视图

 

    CI中的超级对象

 

    数据库访问

 

    AR模型

 

    如何扩展CI的控制器


    url相关函数


    设置路由


    分页


    文件上传


    Session


    验证码


    表单验证

 

 

-----------------------------------------------------------------------------------------------

CI是什么?

    CodeIgniter是一个轻量级但功能强大的PHP框架

    基于MVC设计模式,提供了一套丰富的类库

    简单易学,高效实用

 

官方网站

    www.codeigniter.com

 

中文网站

    http://codeigniter.org.cn

 

下载当前最新版本

    CodeIgniter_2.1.4.zip

    (截止2015.7.1最新版为3.0.0——笔者注)

 

有什么特点?

    你想要一个小巧的框架

    你需要出色的性能

    你需要广泛兼容标准主机上的各种 PHP 版本和配置

        CI 2.1.4 需要PHP5.1.6

    你想要一个几乎只需 0 配置的框架

    你想要一个不需使用任何命令符的框架

    你想要一个不需坚守限制性编码规则的框架

    你不希望被迫学习一门模板语言(虽然可以选择你喜欢的模板解析器)

    你不喜欢复杂,热爱简单

    你需要清晰,完整的文档

 

目录结构说明

    license.txt  许可协议

    user_guide  用户手册

    syste  框架核心文件

    application  应用目录

    index.php  入口文件

 

-----------------------------------------------------------------------------------------------

MVC

 

 

    1.入口文件

        唯一一个让浏览器直接请求的脚本文件

    2.控制器

        协调模型和视图

    3.模型

        提供数据,保存数据

    4.视图

        只负责显示

        表单...

    5.动作action

        是控制器中的方法,用于被浏览器请求

 

 

CI中的MVC

 

    访问url使用的是pathinfo

    入口文件.php/控制器/动作

    application目录中:

        controllers 控制器

        models  模型

        views  视图

    默认控制器是welcome

    默认动作是index

 

 

控制器

 

    1.不需要加后缀

    2.文件名全部小写    例如  user.php

    3.所有的控制器,直接或间接继承自CI_Controller类

    4.控制器中,对动作(方法)要求:

        public

        不能以_开头

 

 

视图

 

    1.在控制器中如果加载视图

        //直接写视图名字,不写扩展名,如果有子目录,则写上目录名

    2.视图中,直接使用原生PHP代码

    3.推荐使用

       

        =$item['name']?>

       

 

 

超级对象

 

    当前的控制器对象

    提供了很多属性:

 

    $this->load

        装载器类的实例 system/core/loader.php

        装载器类提供的方法:

        view()    装载视图

        vars()    分配变量到视图

        database() 装载数据库操作对象

        model()   装载模型对象

        helper()

 

    $this->uri

        是CI_URI类的实例 system/core/URI.php

        CI_URI类提供的方法:

        segment()用于获取uri中的参数

 

        传统的:入口文件.php/控制器/动作/参数1/值1/参数2/值2

        入口文件.php/控制器/动作/值1/值2

 

        echo $this->segment(3);//值1

        echo $this->segment(4);//值2

 

        //index.php/控制器/index/6

        public function index($p=0){    echo $p;//输出6

        }

 

    $this->input

        输入类

        是CI_URI类的实例 system/core/input.php

        CI_URI类提供的方法:

        $this->input->post('username');  //等价于$_POST['username'];

        $this->input->server('DOCUMENT_ROOT'); //等价于$_SERVER['DOCUMENT_ROOT'];        

        $this->input->server('REMOTE_ADDR');

   在视图中,直接用$this来访问超级对象中的属性

 

 

数据库访问

 

    修改配置文件

    application/config/database.php

    将数据库访问对象 装载到超级对象的属性中 $this->db

    $this->load->query($sql);//返回对象

 

    $res=$this->db->query($sql);//返回对象

    $res->result();//返回数组,数组中是一个一个的对象

    $res->result_array();//返回二维数组,里面是关联数组

    $res->row()//返回第一条数据,直接是一个对象


    参数绑定
    $sql="select * from blog_user where name=?";
    $this->db->query($sql,$name);//如果有多个问号时,需要传入一个索引数组

    表前缀
    $db['default']['dbprefix'] = 'new_';
    $db['default']['swap_pre'] = 'swap_';


    配置为一样,代码中,直接硬编码表前缀就行了,如果以后项目数据库表前缀发生变化,
    只需要修改$db['default']['dbprefix'] = 'new_';代码中的swap_会自动替换为new_

    db的自动加载
    application\config\autoload.php
    $autoload['libraries'] = array(database);
    不需要:$this->load->database();

 

    取自增id

    $this->db->insert_id();

    受影响行数

    $this->db->affected_rows();

 

Active record

 

    1.application/config/database.php

        确保$active_record = TRUE;

    2.application/config/autoload.php

        $autoload['libraries'] = array(database);

    3.在配置文件中,正确配置表前缀后,会自动添加

 

    $res->$this->db->get('表名');//返回结果集对象

    $res->result();

 

    $bool=$this->db->insert('表名',关联数组);

 

    $bool=$this->db->update('表名',关联数组,WHERE条件);

 

    $bool=$this->db->delete('表名',WHERE条件);

 

    //select uid,username from user where uid>=3 order by uid desc limit 2,3

    $res=$this->db->select('uid,username')

        ->from('user')

        ->where('uid >=',1)

        ->limit(3,2)//跳过2条,取出3条数据

        ->order_by('uid desc')

        ->get();

 

    //显示最进一条sql语句

    echo $this->db->last_query();

 

    //where

    //$res=$this->db->where('username','marry')->get('user');

    //$res=$this->db->where('username !=','marry')->get('user');

    //$res=$this->db->where('username','marry')->get('user');

    $res=$this->db->where(array('username'=>'hanyile','uid 3))->get('user');

    echo $this->db->last_query();

 

    复杂的查询请用$this->db->query($sql,$data);//使用问号绑定查询

 

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles