企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
许多编程语言都以“Hello World”这个经典的程序为开始,我们也可以从它来开始我们的sp之旅。以下,本章将介绍基于SpeedPHP的“Hello World”程序,同时介绍了sp框架基础程序的写法。 接着上一章已经安装好的sp框架程序,您的本地服务器上应该是以下的目录结构: ![](https://box.kancloud.cn/2015-10-19_562493877ebe6.jpg) 进入controller目录,打开main.php文件,您可以看到: ~~~ <?php class main extends spController { function index() { echo "Hello World"; } } ?> ~~~ 将以下代码: `echo "Hello World";` 替换部分代码: ~~~ function index(){ echo "SpeedPHP框架已经正常运行,欢迎使用!"; } ~~~ > 如何打开PHP文件?请使用windows自带的记事本,或者可以使用EmEditor或者EditPlus(Google一下就可以找到)。 打开您的浏览器,输入http://localhost/,您将可以看到: ![](https://box.kancloud.cn/2015-10-19_5624938813d8f.jpg) 以上的步骤已经输出了“Hello World”的语句了。下面我们将在此页面,建立一个链接,然后在点击后显示当然日期和时间。 在main.php中,加入以下time()代码: ~~~ <?php class main extends spController { function index() { echo "Hello World"; echo " <a href='index.php?c=main&a=time'>显示当前时间</a>"; } function time() { echo date("Y-m-d H:i:s"); } } ?> ~~~ 刷新刚才的网址(http://localhost),您可以看到: ![](https://box.kancloud.cn/2015-10-19_562493881fff6.jpg) 点击“显示当前时间”的链接,您将可以看到: ![](https://box.kancloud.cn/2015-10-19_562493882e1b9.jpg) 该页面使用了PHP函数date来显示您本地服务器的标准时间。 下面,我们另外建立一个新的number.php,来显示一个数字的四舍五入结果。当然,因为这个number.php是用来做数学运算的,所以我们需要另外一个文件来写这个程序。 新建一个文本文件,并且把文件名改成number.php。 在number.php内输入以下代码: ~~~ <?php class number extends spController { function show() { $num = 3.1415; echo "原来数字是$num"; echo " "; $num = round($num); echo "经过四舍五入后,结果是:$num"; } } ?> ~~~ 输入完成后,我们在原来的main.php上面改写了一下链接: ~~~ <?php class main extends spController { function index() { echo "Hello World"; echo " <a href='index.php?c=number&a=show'>显示数字的四舍五入</a>"; } function time() { echo date("Y-m-d H:i:s"); } } ?> ~~~ 打开您的浏览器,访问http://localhost/,然后点击链接“显示数组的四舍五入”,我们可以看到: ![](https://box.kancloud.cn/2015-10-19_562493883dbc2.jpg) 至此,我们可以发现一些规律: ![](https://box.kancloud.cn/2015-10-19_56249388479fb.jpg) 在controller目录内的每个文件,我们都称为控制器(controller)。每个控制器,相对来说就是多个相关程序的集合,而每个控制器内部的每一个function,都是一个动作(action),而这些动作(程序),都是相关性比较紧密的。比如说在用户登录注册的程序里面,可能会有一个叫user.php的控制器,而里面可能有: * function register()  用户注册程序 * function login() 用户登录程序 * function findpassword() 找回密码程序等等。。。 这些动作(程序)都是与user.php(用户程序)是非常紧密相关的,所以我们放到同一个控制器里面。 > 我们可能一开始不习惯使用控制器来代替传统的一个PHP文件就是一个程序的写法,但是实际开发已经证明了,这是非常有效地组织代码的方式,而且很容易就可以习惯。很快您会发现,使用控制器来组织您的程序,整个程序将会更有规划性,而且更简单有序。 而访问这些程序,可以使用index.php?c=user&a=login的形式来访问。(当然,后面会介绍更强大和简便的方式来生成这些地址)。c对应了控制器的名称,而a是对应了动作的名称。也就是如果需要访问user控制器内的findpassword动作,就是index.php?c=user&a=findpassword。 > sp框架的应用程序使用的是单入口的模式,也就是整个系统仅能从单一的index.php访问。 在了解了控制器的使用后,我们便可以清晰了解到sp程序的基本写法了。下一章将会更详细的介绍一下当前PHP业界最为流行的MVC结构,当然,这会很容易就理解,因为本章介绍的控制器(controller)就是MVC的C。