接下来将以HAS_ONE、BELONGS_TO、HAS_MANY这3种最常见的关联模型类型作为讲解对象,深入浅出地介绍关联模型的CURD实际应用。关联查询可以使用所有Model基础模型的CURD操作方法,例如find、delete等。HAS_MANY是关联模型中最常用的操作,HAS_MANY的使用非常简单,和HAS_ONE相比,只需要修改其中的关系类型即可,其他的元素几乎不用修改。...
2023-11-04 理论教育
接下来将以HAS_ONE、BELONGS_TO、HAS_MANY这3种最常见的关联模型类型作为讲解对象,深入浅出地介绍关联模型的CURD实际应用。关联查询可以使用所有Model基础模型的CURD操作方法,例如find、delete等。HAS_MANY是关联模型中最常用的操作,HAS_MANY的使用非常简单,和HAS_ONE相比,只需要修改其中的关系类型即可,其他的元素几乎不用修改。...
2023-11-04 理论教育
U函数支持URL路由,下面将分别介绍。数组中的键值对和URL字符串中的参数与参数值是相对应的,最终上述URL在4种URL模式中的表现形式如下。s=/content/username/ceiba在生成URL参数时,可以使用数据库中的信息作为参数值。生成URL后,界面设计人员可以在视图中进行获取了,如以下代码所示。使用U函数生成URL的格式如下。...
2023-11-04 理论教育
调用系统变量与调用自定义变量不同,调用系统变量需要使用$Think关键字,如表示使用GET变量接收URL传参。表6-1 系统内置的变量(续)为了便于操作,系统允许开发人员将$Think关键字隐藏,如
2023-11-04 理论教育
下面将分别对常用的扩展函数进行讲解。最终将会得到“一个多字节安全的substr()操作基础上的字...”,读者可以在此基础上继续完善msubstr函数。build_count_rand函数返回的结果是关联数组,在实际应用开发中,可以将结果循环插入数据库等。byte_format函数通常用于上传文件检测,或者统计用户使用空间大小等。...
2023-11-04 理论教育
将数据全部缓存到Memcached之后,程序在获取数据时并不直接连接数据库,而是连接缓存服务器。服务器关机后,内存中的数据也将会被清空,所以尽量搭建可容灾的Memcached服务器集群。...
2023-11-04 理论教育
通过前面的介绍,相信读者已经能够对PHP与MVC设计有了初步理解。使用PHP MVC开发模式的显著优点如下。利用MVC框架提供的数据库操作中间层,能够高效、安全地对各种数据库进行操作。MVC框架从底层代码入口,对所有POST及GET提交均会做安全过滤,所以基于MVC编写的网站都能够得到很好的安全保护。MVC固然有其缺点,但其带来的好处远超其缺点。本书就是一本专门针对PHP MVC设计模式的图书,不仅全面介绍MVC实战内容,最后还将介绍MVC模式的实现方式。...
2023-11-04 理论教育
Input类库是ThinkPHP提供的一个字符串输入处理扩展,能够方便地对字符串进行安全过滤、转义等,下面将对Input扩展类公开可调用的方法进行介绍。URL协议支持https、ftp等,运行结果为“http://beauty-soft.net”。其中参数string表示需要进行省略处理的字符串;参数length表示省略的字符数。safeHtml通常用于过滤表单输入,防止用户输入HTML代码破坏数据安全性。...
2023-11-04 理论教育
前面介绍了TortoiseSVN的安装,接下来将讲解TortoiseSVN的使用。在讲解TortoiseSVN的实际应用前,首先简单介绍TortoiseSVN几个常用菜单。TrotoiseSVN→Create repository here:创建版本库,该命令的作用与svnadmin create命令相同。TrotoiseSVN→Import:将现有的项目文件导入SubVersion版本库中。TrotoiseSVN→Settings:该命令能够弹出TortoiseSVN详细设置窗口。TortoiseSVN常见状态图标含义如下。图1-30 TortoiseSVN常见状态图标confilcted:冲突,该文件夹(文件)已产生了冲突,需要做冲突处理。...
2023-11-04 理论教育
下面通过示例代码,演示Cookie函数的实际应用。Cookie能够存放包括中文在内的字符,但长度需要控制在225个字符之内。通过前面的学习,相信读者已经能够掌握Session及Cookie的操作了。虽然Cookie存放于客户端,但是并不意味着Cookie不适合用于会员验证等场景。所以很多网站会使用加密的方式存放Cookie用户名及密码,甚至结合软件与硬件签名实现高度安全的Cookie。总而言之,使用Cookie存放登录数据是可行的,但要做好加密与解密相关操作。...
2023-11-04 理论教育
系统共支持7种模式扩展,下面将分别对最常用的几种模式进行介绍。表11-1 CURD操作接口如表11-1所示,参数$data表示传入或返回的数据信息;参数$options表示返回当前操作的模型名称及表前缀。...
2023-11-04 理论教育
Memcached最大的特点是数据存放于内存。默认情况下,Memcached将被安装到/usr/local/bin/目录下。安装Memcache扩展Memcache是PHP一个扩展模块,在安装前需要确保当前环境已经具备PHP环境。但是无论是官方文档还是第三方权威资料,都不建议在Windows下部署Memcached生产环境。接下来使用命令终端执行memcached.exe,命令如下。通过上述步骤,Memcached就自动安装完成了,接来下只需要启动即可。...
2023-11-04 理论教育
ThinkPHP官方的editor标签位于tp扩展标签库中,在使用前需要在解压包中找到Examples/Tag/Lib/TagLib/TagLibTp.class.php文件,然后将其复制到ThinkPHP/Extend/Driver/TagLib目录,最后在模板中直接嵌入标签即可,如以下代码所示。图6-3 editor编辑器嵌入效果利用同样的原理,读者还可以嵌入其他好用的编辑器,本书17.4.1节就是利用自定义标签实现百度编辑器嵌入的。...
2023-11-04 理论教育
接下来将通过Zend Framework构建一个简单的MVC应用。Zend Framework使用单一入口文件,所有的请求都由入口文件进行调配。ZendFramework的核心组件为Zend_Controller_Front,在入口文件中需要对该组件进行初始化。application指定了这是一个应用,它是ZendFramework约束的一个规范,当然名称可自行设置的,但一个入口文件必须要对应一个应用。接下来在controllers目录中创建一个默认的模型,用于验证ZendFramework是否已经搭建成功。...
2023-11-04 理论教育
前面介绍的都是数据库的缓存,接下来将介绍使用Memcached缓存Session。现在可以利用Memcached的高性能,将大量的Session缓存到缓存服务器中,由于在内存中完成所有会话操作,性能将得到大幅提升。保存SessionMemcached.class.php驱动文件,将Session驱动名改为SessionMemcached,如以下代码所示。使用Memcached缓存Session,不仅可以提高系统性能,由于Memcached数据库是受内存限制的,一旦数据达到临界,服务器将根据时间顺序删除内存中的数据,在一定程度上减少CC等攻击。...
2023-11-04 理论教育
静态缓存规则是静态缓存生成中最关键的配置。静态缓存规则与URL路由规则有些类似,这两者的核心都是基于正则匹配的。其中index即为控制器动作,表示在URL请求到index动作时,系统将生成index.html静态缓存文件。文件缓存规则共由缓存规则、缓存有效期及附加规则构成。同样,在缓存规则中也是允许这样使用的。...
2023-11-04 理论教育
通过前面的学习,相信读者已经对接口和抽象类有了更具体认识。接口和抽象类都包含着未实现的方法声明。抽象类必须为在该类的基类列表中列出所有成员以便让实现类实现,但接口允许空方法。...
2023-11-04 理论教育