PHP 5后的版本借鉴了大量Java思想,得益于早期PHP面向过程编程支持,PHP在实现MVC设计中变得较灵活、易用。但是随着PHP 5.x的到来,各种MVC框架的出现,尤其Zend推出的Zend Framework,彻底地改变了PHP状况,使得PHP也能够实现优雅的Web编程。MVC设计模式将使代码将变得简洁。但是在MVC设计模式中,Index称为动作。当然,MVC只是一种设计模式,在开源的PHP编程世界中,已经拥有众多的MVC编程框架。......
2025-09-30
模型本质上是一个实例类,该类封装了操作数据库的常见方法,模型一旦被实例化,意味着开始链接数据库。前面已经介绍过,ThinkPHP不强制自定义模型与数据表进行映射,开发人员完全可以当成一个普通的类文件来使用,所以使用new方式也是没任何问题的。为了简单操作,ThinkPHP还提供了3种方式快速实例化模型,如下所示。
➢new Model(‘数据表名’),使用传统的new方式实例化Model基类,该类封装了操作数据库的常见方法。需要注意的是new方式不能实例化自定义的模型。
➢M(name='',class='Model'),快捷函数实例化模型。参数name表示数据表名称,class表示自定模型类。M函数可以在初始化数据表后再实例化一个自定义的模型类。
➢D(name='',app=''),D函数专门用于实例化自定义模型,参数name表示模型名(不需
要Model.class.php);app表示项目名称,如果调用跨项目的自定义模型,那么该参数
是必需的,为空时则表示当前项目。(https://www.chuimin.cn)
关于怎样使用Model基类进行数据库操作,在本书第7章将有深入的介绍,在此读者只需要理解该类的作用即可。继续以前面的内容为例,如果现在需要实例化UserModel类,那么正确的实例化方式如以下代码所示。
M函数同样可以实例化自定义模型,但该函数必须先初始化数据库,然后才能实例化自定义模型类,如以下代码所示。
M函数可以方便地进行数据库操作。利用自定义模型能够实现更复杂的数据库操作。M函数的第1个参数表示数据表名,不能为空;第2个参数为自定义模型类,如果载入自定义模型,该模型类必须位于当前项目。
提示:ThinkPHP框架使用的是单入口文件方式,并且强制使用类文件自动载入机制,所以在所有的MVC开发中均不需要开发者手动引入类文件。
相关文章
PHP 5后的版本借鉴了大量Java思想,得益于早期PHP面向过程编程支持,PHP在实现MVC设计中变得较灵活、易用。但是随着PHP 5.x的到来,各种MVC框架的出现,尤其Zend推出的Zend Framework,彻底地改变了PHP状况,使得PHP也能够实现优雅的Web编程。MVC设计模式将使代码将变得简洁。但是在MVC设计模式中,Index称为动作。当然,MVC只是一种设计模式,在开源的PHP编程世界中,已经拥有众多的MVC编程框架。......
2025-09-30
ThinkPHP的基础模型类名为Model,该类定义了操作数据库的常用方法,继承于Model类的PHP类称为自定义模型。ThinkPHP对模型的定义不太严格,对中小型的团队开发而言,这种MVC处理方式是高效和灵活的,开发人员可以像使用PHP普通类一样调用模型,下面将介绍怎样创建一个正确的自定义模型类。在home/Lib/Model目录下创建一个PHP文件,并命名为UserModel.class.php,打开该文件,创建一个PHP类,命名为UserModel,并使该类继承于Model类。这样,UserModel.class.php就是一个标准的ThinkPHP项目模型文件。......
2025-09-30
前面已经简单介绍过ThinkPHP视图引擎,这些标签处理机制类似于JSP tag,使用XML作为标签的渲染方式,开发人员可以方便地在网页中嵌入XML标签,然后由ThinkPHP视图引擎解释成标准的PHP代码。ThinkPHP的视图引擎之所以高效,主要体现在它的标签扩展性。ThinkPHP的视图标签扩展性够完美地与后台控制器代码相结合,例如在Smarty中使用函数功能,首先需要在后台PHP代码注册,而在ThinkPHP中完全不需要,如以下代码所示。......
2025-09-30
接下来将使用ThinkPHP创建一个简单的MVC网站应用。通过正确修改上述配置文件信息,现在ThinkPHP就可以操作MySQL数据库了。在ThinkPHP中无论是模型的文件名,还是模型的类名都必须遵循内建的文件规则。图4-24 ThinkPHP MVC运行效果 说明:在ThinkPHP 3.0以前的版本中,视图还有主题的概念,所谓的主题是为了使网站更好地应用多模板、多风格。......
2025-09-30
要使用Symfony开发Web应用,PHP环境必须为5.0.1以上,并且安装了Pear扩展库。接来下将进入安装Symfony的步骤。pear upgrade pear现在就可以获取Symfony了。图4-10 symfony频道可用的包如图中所示,当前的Symfony最新的版本为1.4.17,当然这指的是正式包,实际上可用的2.0测试包已经可供下载了。接下来将进入Symfony的安装阶段,请确保当前网络环境稳定可靠。图4-11 pear安装Symfony安装完成后可以在xampp\php\pear目录下看到Symfony文件夹,如图4-12所示。图4-12 Symfony安装成功测试Symfony是否可用,最直接的办法就是创建一个项目。......
2025-09-30
Eclipse是IBM的一个商业项目,2001年11月起IBM将Eclipse贡献给开源社区,从此奠定了Eclipse的地位。Eclipse通过PDT插件来提供PHP开发支持,Eclipse PDT能够让编写PHP变得简单和高效,下面将介绍Eclipse PDT的安装和使用。Eclipse PDT的安装有两种方式,一种是直接通过Eclipse的扩展进行安装;另一种是下载带PDT插件的Eclipse。下面将以Eclipse3.5.2作为基础,讲解Eclipse PDT插件的安装过程。如果下载带PDT插件的Eclipse,只需要双击Eclipse启动程序即可,此时Eclipse就提供了完美的PHP编程支持。......
2025-09-30
Zend Studio在6.0之前采用独立安装包进行发行。下面分别对经典的Zend Studio 5.5和成熟的Zend Studio 8.0进行讲解,方便读者选择。Zend Studio 8.0是Zend推出的商业套件,开发者或企业必须要购买商业许可才能进行使用。......
2025-09-30
Zend Framework是以组件的方式进行代码构建的,组件的概念类似是Java中包的概念。Zend Framework强大之处就在于提供了非常多的实用组件,开发人员可以方便地使用Zend Framework提供的种类组件,轻易地实现原本需要复杂设计的功能。常用Zend_Filter组件类如下。Zend_Filter组件所包含的类如图4-5所示。图4-7 Zend_Mail组件5.Zend_Db_AdapterZend_Db_Adapter是一个操作数据库的组件,能够实现简洁高效的数据库操作。......
2025-09-30
相关推荐