Inhaltsverzeichnis
CodeIgniter控制器之业务逻辑实例分析,codeigniter控制器
您可能感兴趣的文章:
Heim php教程 php手册 CodeIgniter控制器之业务逻辑实例分析,codeigniter控制器

CodeIgniter控制器之业务逻辑实例分析,codeigniter控制器

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

CodeIgniter控制器之业务逻辑实例分析,codeigniter控制器

本文实例分析了CodeIgniter控制器之业务逻辑。分享给大家供大家参考,具体如下:

前面分析了公用控制器按模块分发,方便对特定模块的控制,而具体的实现类则是放在library中。那放在library中是否合适呢?以及控制器中更多的业务逻辑该放在哪里?

先说下对CI中几个文件夹的理解

helpers、libraries: 存放一系列辅助函数、辅助类,用来辅助控制器、业务逻辑实现功能。他们中的方法应当尽量避免与CI依赖,依赖越紧越难以复用。以邮件发送为例,发送邮件时很多参数是不变的,如编码、协议、端口等,我们可能会在config下进行配置这些参数,然后library封装一个邮件发送的类,并在其中获取CI实例后读取这些参数。此时就出现了与CI实例的依赖,该类就只能在CI框架中使用,其他系统要用到,就只能重写了,没达到复用的目的。如果发送的类只是接收参数,并封装发送方法呢?所以说,尽可能的让helpers、libraries变的简单,职责变得单一。

controllers: 控制器目录。控制器主要用来接管程序,起到连接的作用。通常情况下,我们会把业务逻辑写在action中。但随着业务变得复杂,action代码将越来越臃肿,难以维护。

models: 模型目录。CI的模型的主要职责就是和数据库打交道,获取数据。很多时候也会把业务逻辑放在模型中,但业务逻辑与模型实际上是两种东西了。模型只是获取数据,业务逻辑可能是把这些数据根据业务需要进行组合,组合方式可能有很多种,放在模型中会让模型难以维护且不利于复用。说个碰到的例子,对数据按一定条件做缓存,获取数据和缓存结果两个流程写在同一个方法中,但同样的数据需要做另一种形式的缓存时发现,获取数据的方法就没法重用了。

third_party:第三方类库目录。拿到一个类库后不要直接使用, 可以在library中进行一次封装,让其更适应于系统,其他人使用起来难度也会降低。

可以发现,每个文件夹都有自己的职责,每个模块都有自己的家,都有自己的职能。那业务逻辑该怎么办?

既然这样, 我们也应该给业务逻辑安个家,建立一个唯一的目录用来存放业务逻辑,暂且命名为service。控制器主要负责接收参数并调用service,service来调用模型,各层各尽其责。

下面看看怎么实现:

我们可以重写MY_Load,增加service方法,直接通过复制代码 代码如下:$this->load->service('user_service');来调用。
但业务逻辑很多都需要获取CI实例,这里可以参考模型的方法,core建立一个MY_Service,其他service均继承该类,这样子service里用法就跟控制器里一样了。

class MY_Service
{
  public function __construct()
  {
    log_message('debug', "Service Class Initialized");
  }
  function __get($key)
  {
    $CI = & get_instance();
    return $CI->$key;
  }
}

Nach dem Login kopieren

其实主要思路还是需要有一层用来处理业务逻辑,java中都有这一层。随着对CI的不断熟悉,发觉这里需要这一层,达到解放控制器和模型的目的。和这种类似的做法还有很多,如果系统中有很多地方需要用到web service 或者说cache之类的,其实也可以按照上面的思路单独放在一个文件夹中处理,方便管理。

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

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

您可能感兴趣的文章:

  • CodeIgniter自定义控制器MY_Controller用法分析
  • Codeigniter控制器controller继承问题实例分析
  • 2个Codeigniter文件批量上传控制器写法例子
  • CodeIgniter钩子用法实例详解
  • CodeIgniter配置之database.php用法实例分析
  • CodeIgniter多语言实现方法详解
  • CI(CodeIgniter)模型用法实例分析
  • CodeIgniter视图使用注意事项
  • CodeIgniter读写分离实现方法详解
  • CI(CodeIgniter)简单统计访问人数实现方法
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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

So kalibrieren Sie Ihren Xbox One-Controller richtig unter Windows 11 So kalibrieren Sie Ihren Xbox One-Controller richtig unter Windows 11 Sep 21, 2023 pm 09:09 PM

Da Windows zur Gaming-Plattform der Wahl geworden ist, ist es umso wichtiger, seine spielorientierten Funktionen zu identifizieren. Eine davon ist die Möglichkeit, einen Xbox One-Controller unter Windows 11 zu kalibrieren. Mit der integrierten manuellen Kalibrierung können Sie Abweichungen, zufällige Bewegungen oder Leistungsprobleme beseitigen und die X-, Y- und Z-Achse effektiv ausrichten. Wenn die verfügbaren Optionen nicht funktionieren, können Sie jederzeit ein Xbox One-Controller-Kalibrierungstool eines Drittanbieters verwenden. Finden wir es heraus! Wie kalibriere ich meinen Xbox-Controller unter Windows 11? Bevor Sie fortfahren, stellen Sie sicher, dass Sie Ihren Controller an Ihren Computer anschließen und die Treiber Ihres Xbox One-Controllers aktualisieren. Installieren Sie nebenbei auch alle verfügbaren Firmware-Updates. 1. Nutzen Sie Wind

So implementieren Sie benutzerdefinierte Middleware in CodeIgniter So implementieren Sie benutzerdefinierte Middleware in CodeIgniter Jul 29, 2023 am 10:53 AM

So implementieren Sie benutzerdefinierte Middleware in CodeIgniter Einführung: In der modernen Webentwicklung spielt Middleware eine wichtige Rolle in Anwendungen. Sie können verwendet werden, um eine gemeinsame Verarbeitungslogik auszuführen, bevor oder nachdem die Anforderung den Controller erreicht. CodeIgniter unterstützt als beliebtes PHP-Framework auch den Einsatz von Middleware. In diesem Artikel wird die Implementierung benutzerdefinierter Middleware in CodeIgniter vorgestellt und ein einfaches Codebeispiel bereitgestellt. Middleware-Übersicht: Middleware ist eine Art Anfrage

Laravel von Grund auf lernen: Detaillierte Erklärung des Controller-Methodenaufrufs Laravel von Grund auf lernen: Detaillierte Erklärung des Controller-Methodenaufrufs Mar 10, 2024 pm 05:03 PM

Laravel von Grund auf lernen: Detaillierte Erklärung des Controller-Methodenaufrufs Bei der Entwicklung von Laravel ist Controller ein sehr wichtiges Konzept. Der Controller dient als Brücke zwischen dem Modell und der Ansicht und ist für die Verarbeitung von Routenanforderungen und die Rückgabe entsprechender Daten an die Ansicht zur Anzeige verantwortlich. Methoden in Controllern können über Routen aufgerufen werden. In diesem Artikel wird detailliert beschrieben, wie Methoden in Controllern geschrieben und aufgerufen werden, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir einen Controller erstellen. Sie können zum Erstellen das Artisan-Befehlszeilentool verwenden

CodeIgniter-Middleware: Beschleunigen Sie die Reaktionsfähigkeit der Anwendung und das Rendern von Seiten CodeIgniter-Middleware: Beschleunigen Sie die Reaktionsfähigkeit der Anwendung und das Rendern von Seiten Jul 28, 2023 pm 06:51 PM

CodeIgniter-Middleware: Beschleunigung der Anwendungsreaktionsfähigkeit und Seitenwiedergabe Übersicht: Da Webanwendungen immer komplexer und interaktiver werden, müssen Entwickler effizientere und skalierbarere Lösungen verwenden, um die Anwendungsleistung und Reaktionsfähigkeit zu verbessern. CodeIgniter (CI) ist ein leichtes PHP-basiertes Framework, das viele nützliche Funktionen bietet, darunter Middleware. Middleware ist eine Reihe von Aufgaben, die ausgeführt werden, bevor oder nachdem die Anfrage den Controller erreicht. In diesem Artikel wird die Verwendung vorgestellt

Was ist ein Laravel-Controller? Was ist ein Laravel-Controller? Jan 14, 2023 am 11:16 AM

In Laravel ist ein Controller (Controller) eine Klasse, die zur Implementierung bestimmter Funktionen verwendet wird; der Controller kann zugehörige Anforderungsverarbeitungslogik in einer separaten Klasse kombinieren. Einige Methoden werden im Controller gespeichert, um bestimmte Funktionen zu implementieren. Der Controller wird über Routing aufgerufen, und Rückruffunktionen werden nicht mehr im Verzeichnis „app/Http/Controllers“ gespeichert.

Wie verwende ich das CodeIgniter4-Framework in PHP? Wie verwende ich das CodeIgniter4-Framework in PHP? May 31, 2023 pm 02:51 PM

PHP ist eine sehr beliebte Programmiersprache und CodeIgniter4 ist ein häufig verwendetes PHP-Framework. Bei der Entwicklung von Webanwendungen ist die Verwendung von Frameworks sehr hilfreich. Sie können den Entwicklungsprozess beschleunigen, die Codequalität verbessern und die Wartungskosten senken. In diesem Artikel wird die Verwendung des CodeIgniter4-Frameworks vorgestellt. Installation des CodeIgniter4-Frameworks Das CodeIgniter4-Framework kann von der offiziellen Website (https://codeigniter.com/) heruntergeladen werden. Runter

So verwenden Sie den Datenbankabfrage-Builder (Query Builder) im CodeIgniter-Framework So verwenden Sie den Datenbankabfrage-Builder (Query Builder) im CodeIgniter-Framework Jul 28, 2023 pm 11:13 PM

Einführung in die Methode zur Verwendung des Datenbankabfrage-Builders (QueryBuilder) im CodeIgniter-Framework: CodeIgniter ist ein leichtes PHP-Framework, das viele leistungsstarke Tools und Bibliotheken bereitstellt, um Entwicklern die Entwicklung von Webanwendungen zu erleichtern. Eine der beeindruckendsten Funktionen ist der Datenbankabfrage-Builder (QueryBuilder), der eine übersichtliche und leistungsstarke Möglichkeit zum Erstellen und Ausführen von Datenbankabfrageanweisungen bietet. In diesem Artikel wird die Verwendung von Co. vorgestellt

PHP-Entwicklung: Verwendung von CodeIgniter zur Implementierung des MVC-Musters und der RESTful-API PHP-Entwicklung: Verwendung von CodeIgniter zur Implementierung des MVC-Musters und der RESTful-API Jun 16, 2023 am 08:09 AM

Da sich Webanwendungen ständig weiterentwickeln, ist es wichtig, Anwendungen schneller und effizienter zu entwickeln. Und da RESTful API in Webanwendungen weit verbreitet ist, müssen Entwickler verstehen, wie RESTful API erstellt und implementiert wird. In diesem Artikel besprechen wir, wie man das MVC-Muster und die RESTful-API mithilfe des CodeIgniter-Frameworks implementiert. Einführung in das MVC-Muster MVC (Model-Vie

See all articles