Table des matières
CodeIgniter自定义控制器MY_Controller用法分析,codeigniter控制器
您可能感兴趣的文章:
Maison php教程 php手册 CodeIgniter自定义控制器MY_Controller用法分析,codeigniter控制器

CodeIgniter自定义控制器MY_Controller用法分析,codeigniter控制器

Jun 13, 2016 am 08:47 AM
codeigniter 控制器

CodeIgniter自定义控制器MY_Controller用法分析,codeigniter控制器

本文实例讲述了CodeIgniter自定义控制器MY_Controller用法。分享给大家供大家参考,具体如下:

Codeigniter所有的控制器都必须继承CI_Controller类,但CI_Controller类位于system目录下,不太方便修改。为方便做一些公用的处理,通常情况下我们会在core下创建MY_Controller,用来继承CI_Controller,从而项目中所有的控制器继承MY_Controller。

那么,MY_Controller 通常会做些什么呢?

所有的控制器都继承了MY_Controller, MY_Controller常常会加载一些公用帮助函数、公用类库,以及实现一些公用的方法。

公用的方法?公有的方法?

看到这些方法会意识到一个问题,如果方法是public的,那是否可以通过浏览器访问到。答案是可以的!这样不该让用户访问到的方法让用户访问到了。那设置protected吧。。。

备注:CI_Controller中写public方法不会被访问到,框架限制了CI_Controller中方法通过浏览器访问。

随着项目的不断进展,MY_Controller中的公用方法会越来越多。如果此时要增加后台管理的功能,所有的控制器依然继承MY_Controller,那其中的很多方法可能不适用了。如果后台需要的一些公用方法也写在这里,这里将会变得混乱。

如何按模块区分不同的控制器?

有两种处理的方式,第一种是通过不同的公用控制器文件来区分,由控制器去决定继承哪一个公用控制器,当然这里得引入公用文件。还有这种方式是可以通过对象的一个属性来维护,不同的模块赋予该属性不同的对象。如:

<&#63;php 
if ( ! defined('BASEPATH'))
  exit('No direct script access allowed');
class MY_Controller extends CI_Controller
{
 public function __construct($type = NULL)
 {
   parent::__construct();
   switch($type) {
    case 'api' :
     $this->load->library('api_helper', NULL, 'helper');
     break;
    case 'admin' :
     $this->load->library('admin_helper', NULL, 'helper');
      break;
    default :
     $this->load->library('app_helper', NULL, 'helper');
      break
   }
 }
}
/* End of file MY_Controller.php */
/* Location: ./application/core/MY_Controller.php */

Copier après la connexion

控制器调用MY_Controller构造函数并传入type值,根据不同的type值会加载不同的类库,然后给类定义一个统一的别名,方便处理。具体的library可以处理该模块公用的方法或load公用的资源,相当于该模块的一个公用类。当然处理方式也可以是直接通过路由中的目录名或者控制器名称来控制等等。

这样避免了加载不同的文件,调用方法时只需要通过$this->helper对象调用。在仔细看看,可以发现不同模块的公用类是放在library中,放在library或helper中都可以使用get_intance获取控制器对象,但每次使用都需要获取实例,相对麻烦,如果是模型呢?感觉也不太好。其中的公用方法有一些会跟业务逻辑相关,放在library感觉不太合适。

业务逻辑好像并没有一个好的地方去实现,控制器的私有方法?模型?

先总结下上面的处理方法:

1、不同模块之间可以按需加载以及实现自定义的公用方法,各个模块之间互不影响。如果各模块之间的公用方法比较多,也可以再去继承一个公用的类。

2、公用方法放在library中,调用CI实例不方便。

3、如果不喜欢$this->herlper的调用方法,可以让控制器去继承不同的公用控制器,思路是一样的,只是可能需要手动引入文件。

更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》和《CI(CodeIgniter)框架进阶教程》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

您可能感兴趣的文章:

  • Codeigniter控制器controller继承问题实例分析
  • 2个Codeigniter文件批量上传控制器写法例子
  • CodeIgniter钩子用法实例详解
  • CodeIgniter配置之database.php用法实例分析
  • CodeIgniter多语言实现方法详解
  • CI(CodeIgniter)模型用法实例分析
  • CodeIgniter视图使用注意事项
  • CodeIgniter读写分离实现方法详解
  • CI(CodeIgniter)简单统计访问人数实现方法
  • CodeIgniter控制器之业务逻辑实例分析
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment calibrer correctement votre manette Xbox One sous Windows 11 Comment calibrer correctement votre manette Xbox One sous Windows 11 Sep 21, 2023 pm 09:09 PM

Depuis que Windows est devenu la plate-forme de jeu de choix, il est encore plus important d'identifier ses fonctionnalités orientées jeux. L'un d'eux est la possibilité de calibrer une manette Xbox One sur Windows 11. Grâce à l'étalonnage manuel intégré, vous pouvez vous débarrasser des problèmes de dérive, de mouvement aléatoire ou de performances et aligner efficacement les axes X, Y et Z. Si les options disponibles ne fonctionnent pas, vous pouvez toujours utiliser un outil tiers d'étalonnage du contrôleur Xbox One. Découvrons-le ! Comment calibrer ma manette Xbox sous Windows 11 ? Avant de continuer, assurez-vous de connecter votre manette à votre ordinateur et de mettre à jour les pilotes de votre manette Xbox One. Pendant que vous y êtes, installez également toutes les mises à jour de micrologiciel disponibles. 1. Utilisez le vent

Comment implémenter un middleware personnalisé dans CodeIgniter Comment implémenter un middleware personnalisé dans CodeIgniter Jul 29, 2023 am 10:53 AM

Comment implémenter un middleware personnalisé dans CodeIgniter Introduction : Dans le développement Web moderne, le middleware joue un rôle essentiel dans l'application. Ils peuvent être utilisés pour exécuter une logique de traitement partagé avant ou après que la demande atteigne le contrôleur. CodeIgniter, en tant que framework PHP populaire, prend également en charge l'utilisation de middleware. Cet article explique comment implémenter un middleware personnalisé dans CodeIgniter et fournit un exemple de code simple. Présentation du middleware : le middleware est une sorte de requête

Comment utiliser le framework CodeIgniter4 en php ? Comment utiliser le framework CodeIgniter4 en php ? May 31, 2023 pm 02:51 PM

PHP est un langage de programmation très populaire et CodeIgniter4 est un framework PHP couramment utilisé. Lors du développement d'applications Web, l'utilisation de frameworks est très utile. Elle peut accélérer le processus de développement, améliorer la qualité du code et réduire les coûts de maintenance. Cet article expliquera comment utiliser le framework CodeIgniter4. Installation du framework CodeIgniter4 Le framework CodeIgniter4 peut être téléchargé depuis le site officiel (https://codeigniter.com/). Vers le bas

Apprendre Laravel à partir de zéro : explication détaillée de l'invocation de la méthode du contrôleur Apprendre Laravel à partir de zéro : explication détaillée de l'invocation de la méthode du contrôleur Mar 10, 2024 pm 05:03 PM

Apprendre Laravel à partir de zéro : explication détaillée de l'invocation de la méthode du contrôleur Dans le développement de Laravel, le contrôleur est un concept très important. Le contrôleur sert de pont entre le modèle et la vue, responsable du traitement des demandes des itinéraires et du renvoi des données correspondantes à la vue pour affichage. Les méthodes des contrôleurs peuvent être appelées par des routes. Cet article présentera en détail comment écrire et appeler des méthodes dans les contrôleurs et fournira des exemples de code spécifiques. Tout d’abord, nous devons créer un contrôleur. Vous pouvez utiliser l'outil de ligne de commande Artisan pour créer

Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Jul 28, 2023 pm 06:51 PM

Middleware CodeIgniter : accélère la réactivité des applications et le rendu des pages Présentation : À mesure que les applications Web continuent de gagner en complexité et en interactivité, les développeurs doivent utiliser des solutions plus efficaces et évolutives pour améliorer les performances et la réactivité des applications. CodeIgniter (CI) est un framework léger basé sur PHP qui fournit de nombreuses fonctionnalités utiles, dont le middleware. Le middleware est une série de tâches effectuées avant ou après que la demande parvienne au contrôleur. Cet article explique comment utiliser

Qu'est-ce que le contrôleur Laravel Qu'est-ce que le contrôleur Laravel Jan 14, 2023 am 11:16 AM

Dans Laravel, un contrôleur (Controller) est une classe utilisée pour implémenter certaines fonctions ; le contrôleur peut combiner la logique de traitement des requêtes associée dans une classe distincte. Certaines méthodes sont stockées dans le contrôleur pour implémenter certaines fonctions. Le contrôleur est appelé via le routage, et les fonctions de rappel ne sont plus utilisées ; le contrôleur est stocké dans le répertoire « app/Http/Controllers ».

Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter Comment utiliser le générateur de requêtes de base de données (Query Builder) dans le framework CodeIgniter Jul 28, 2023 pm 11:13 PM

Introduction à la méthode d'utilisation du générateur de requêtes de base de données (QueryBuilder) dans le framework CodeIgniter : CodeIgniter est un framework PHP léger qui fournit de nombreux outils et bibliothèques puissants pour faciliter les développeurs dans le développement d'applications Web. L'une des fonctionnalités les plus impressionnantes est le générateur de requêtes de base de données (QueryBuilder), qui fournit un moyen concis et puissant de créer et d'exécuter des instructions de requête de base de données. Cet article expliquera comment utiliser Co

Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques Utilisez le framework PHP CodeIgniter pour développer une application de chat en temps réel afin de fournir des services de communication pratiques Jun 27, 2023 pm 02:49 PM

Avec le développement de l’Internet mobile, la messagerie instantanée est devenue de plus en plus importante et populaire. Pour de nombreuses entreprises, le chat en direct s’apparente davantage à un service de communication, offrant une méthode de communication pratique permettant de résoudre rapidement et efficacement les problèmes commerciaux. Sur cette base, cet article présentera comment utiliser le framework PHP CodeIgniter pour développer une application de chat en temps réel. Comprendre le framework CodeIgniter CodeIgniter est un framework PHP léger qui fournit une série d'outils et de bibliothèques simples pour aider rapidement les développeurs

See all articles