ThinkPHP创建网站时使用UTF8编码,包括数据库操作默认情况下也使用与文件系统相同的编码。事实上PHP已经内置了iconv函数用于处理字符编码,但只能处理字符串。其中参数filename表示需要转码的有效文件;参数out_charset表示转换后的编码,接受的输出编码与iconv函数一样。......
2023-11-04
接下来将通过Zend Framework构建一个简单的MVC应用。Zend Framework使用单一入口文件,所有的请求都由入口文件进行调配。ZendFramework的核心组件为Zend_Controller_Front,在入口文件中需要对该组件进行初始化。代码如下所示。
上述代码中,首先使用PHP内置函数date_default_timezone_set设置运行环境的时区,这不是必需的;使用require_once引入ZendFramework核心组件(此处的zend目录并不存在于当前网站下),这是使用ZendFramework的前提,所以是必需步骤。最后使用Zend_Controller_Front静态类中的run方法初始化整个MVC架构,这时就可以使用ZendFramework构建网站应用了。
需要注意的是,在run方法中,指定了一个参数“./application/controllers”,该参数是必需的,它声明了当前入口文件对应的应用程序目录和控制器目录。application指定了这是一个应用,它是ZendFramework约束的一个规范,当然名称可自行设置的,但一个入口文件必须要对应一个应用。应用是MVC开发中比较重要的概念,通俗来讲就是一个网站,当然也可以是一个大网站中的某一功能模块。一个网站中可以有多个入口文件,但入口文件只能对应一个应用。通常情况下默认的入口文件为index.php。
application目录代表一个网站的整体,所以它的目录结构通常都是与网站相关的,比如网站的公共文件、运行日志等。典型的目录结果如图4-3所示。
上述目录中,除了controllers、models、views外其他目录都是可自定义的。接下来在controllers目录中创建一个默认的模型,用于验证ZendFramework是否已经搭建成功。默认控制器的文件名为IndexController.php,代码如下所示。
(www.chuimin.cn)
图4-3 ZendFramework项目目录结构
通过浏览器访问网站的根目录,如果正确显示ZendFramework的版本号即代表ZendFrameork安装正确,否则需要检查include_path目录指向。
上述代码与普通的PHP类代码并没有区别,在ZendFramework平台中任何普通的PHP类只要继承于Controller都可以作为MVC中的模型(文件名必须遵循ZendFramework命名规范)。
有关PHP MVC开发实战的文章
ThinkPHP创建网站时使用UTF8编码,包括数据库操作默认情况下也使用与文件系统相同的编码。事实上PHP已经内置了iconv函数用于处理字符编码,但只能处理字符串。其中参数filename表示需要转码的有效文件;参数out_charset表示转换后的编码,接受的输出编码与iconv函数一样。......
2023-11-04
nusoap是一套第三方开源类库,用于创建及调用SOAP服务。nusoap非常灵活及强大,不仅支持常用的SOAP服务调用,而且还支持动态生成WSDL,支持使用数组作为消息参数类型。此外nusoap套件还支持多种客户端与服务端连接方式,例如代理连接,SSL安全连接等。使用nusoap开发SOAP服务,不仅可以有效提高开发效率,而且由于代码全部基于PHP,开发员不需要面对复杂难记的WSDL标记,只需要掌握PHP面向对象开发即可。接下来将结合示例代码,详细介绍nusoap的使用。......
2023-11-04
熟悉Web开发的读者经过前面介绍的HTTPSQS测试,相信已经了解了怎样在PHP中提交数据入队。同时,HTTPSQS还提供了多种语言的类库,用于实现HTTPSQS入队及出队的所有操作,由于目前还没有介绍ThinkPHP扩展,所以这里不使用作者提供的类库,而是使用PHP内置的CURL函数。这里将使用HTTPSQS处理日志信息,如以下代码所示。下面将使用PHP解释器实现一个简单的HTTPSQS监控脚本。......
2023-11-04
接下来将使用CodeIgniter实现一个简单的新闻列表,用户点击列表中的新闻标题将会进入新闻的正文页面,通过该例子演示CodeIgniter实现MVC开发的流程。在CodeIgniter中,控制器命名规则比较灵活,它不需要加前缀或后缀,一个普通的文件即可。......
2023-11-04
环形折弯命令是一种改变模型形状的操作,它可以对实体特征、曲面和基准曲线进行环状的折弯变形。Step6.创建图4.11.10所示的环形折弯特征,操作步骤如下:图4.11.9 选择引导尺寸图4.11.10 创建环形折弯特征选择下拉菜单命令。在图4.11.13所示的“环形折弯”操控板中的“折弯类型”下拉列表中选择;然后分别单击其后的字符,并分别选取图4.11.14所示的两个端面。......
2023-06-20
While循环可以反复执行循环体的程序,直至到达某个边界条件。图2-34 While循环示意图图2-35 While循环示意图While循环位于结构选板。松开鼠标时,While循环的边框将包围选中部分。只需将对像拖放到While循环内部即可为其添加程序框图对象。因此,While循环的控制量应该在循环内产生。图2-37为合理使用While循环的方法。但这并不能保证While循环真正的合理运行。解决这个问题的简单办法就是在While循环中插入延时节点。......
2023-07-02
将车身固定在矫正台后,利用液压牵引即可进行所需的矫正。可移动式矫正台的纵梁下装有轮子,便于移动到任意位置,是一种实用性很强的矫正设备。在液杆两端装上适当的端头,可以满足车身内部两点间矫正尺寸的需要,适用于推压、展宽、夹紧、拉拔、延伸各种情形,其端头的形式是不相同的。......
2023-08-10
out 对象实际上是PrintWriter 对象的带缓冲的版本,可以通过page 指令的buffer属性来调整缓冲区的大小,默认的缓冲区是8 kb。表5.2out 对象中与缓存区操作相关的方法out 对象针对不同的数据类型,提供了多个重载的print()和println()方法,用于输出数据。out.newLine():输出一个换行符。例5.1:out 对象使用示例。建立Java Web 项目ch06,并在WebRoot 文件夹下建立out.jsp 文件,其内容如下:发布ch06 项目,并启动Tomcat 服务器。图5.1在浏览器中查看运行效果和源代码......
2023-11-21
相关推荐