Maison développement back-end tutoriel php PHP学习笔记(4)_PHP教程

PHP学习笔记(4)_PHP教程

Jul 13, 2016 am 10:34 AM
aspnet programmation de logiciels

在PHP中实现一个所谓的MVC框架非常简单。这里说一下思路。

 

一、首先用spl_autoload_register函数实现自己的类型自动加载机制。这样其他代码都不需要再考虑如何将类所在的文件include进来。

 

二、从url中提取出controller和action的名称,组织起来用反射实例化控制器类,并调用控制器的execute方法。控制器的execute方法同样也会用反射查找action方法并调用,将action返回的response对象写入到输出流中。如果controller或action不存在时则返回404状态。

 

三、要实现视图,首先要定义一个view类,它将另外一个php视图文件include到一个方法里,这样可以限制被包含文件中变量的作用域。其次view类会有一个$model属性,用它来和被包含的php共享数据模型,这样我们就能轻松地在视图中呈现数据了。当然还可以用ob_start、ob_get_contents、ob_end_clean这几个函数来“捕获”视图呈现的内容。

 

四、接第二步,如果想呈现一个视图,那么就在action中返回一个ViewResponse,想输出一段json数据,就返回一个JsonResponse,框架提供一个基类ActionResponse,不管它的派生类是什么框架只需要将它生成的内容写入到输出中。

 

实际使用的时候需要注意一下安全和性能的问题。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/748241.htmlTechArticle在PHP中实现一个所谓的MVC框架非常简单。这里说一下思路。 一、首先用spl_autoload_register函数实现自己的类型自动加载机制。这样其他代码都...
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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

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)

La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web. La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web. Jul 29, 2023 pm 05:19 PM

La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web.

Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET Jun 30, 2023 pm 11:54 PM

Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET

Dix façons dont l'IA générative va changer le développement logiciel Dix façons dont l'IA générative va changer le développement logiciel Mar 11, 2024 pm 12:10 PM

Dix façons dont l'IA générative va changer le développement logiciel

La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise Jul 29, 2023 pm 02:37 PM

La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise

Comment se reconnecter à MySQL dans le programme ASP.NET ? Comment se reconnecter à MySQL dans le programme ASP.NET ? Jun 29, 2023 pm 02:21 PM

Comment se reconnecter à MySQL dans le programme ASP.NET ?

Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ? Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ? Jun 29, 2023 pm 12:56 PM

Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ?

Configuration recommandée pour le développement ASP.NET à l'aide de Visual Studio sous Linux Configuration recommandée pour le développement ASP.NET à l'aide de Visual Studio sous Linux Jul 06, 2023 pm 08:45 PM

Configuration recommandée pour le développement ASP.NET à l'aide de Visual Studio sous Linux

Quels sont les objets intégrés dans aspnet ? Quels sont les objets intégrés dans aspnet ? Nov 21, 2023 pm 02:59 PM

Quels sont les objets intégrés dans aspnet ?

See all articles