#1 jake

许多编程语言都以“Hello World”这个经典的程序为开始,我们也可以从它来开始我们的sp之旅。以下,本章将介绍基于SpeedPHP的“Hello World”程序,同时介绍了sp框架基础程序的写法。

接着上一章已经按照好的sp框架程序,您的本地服务器上应该是以下的目录结构:


helloworlddir[1].jpg


进入controller目录,打开main.php文件,您可以看到:

class main extends spController
{
function index(){
    echo "Hello World";
}
}
?>

将以下代码:

echo "Hello World";

替换红色部分的代码:

function index(){

echo "SpeedPHP框架已经正常运行,欢迎使用!";

}

如何打开PHP文件?请使用windows自带的记事本,或者可以使用EmEditor或者EditPlus(Google一下就可以找到)。
打开您的浏览器,输入http://localhost/,您将可以看到:

helloworldmain2[1].jpg

以上的步骤已经输出了“Hello World”的语句了。下面我们将在此页面,建立一个链接,然后在点击后显示当然日期和时间。

在main.php中,加入以下time()代码:

class main extends spController
{
function index(){
echo "Hello World";
echo "
显示当前时间";
}
function time(){
echo date("Y-m-d H:i:s");
}
}
?>
        
刷新刚才的网址(http://localhost),您可以看到:

helloworldshowtime[1].jpg
点击“显示当前时间”的链接,您将可以看到:

helloworldshowtime2[1].jpg

该页面使用了PHP函数date来显示您本地服务器的标准时间。

下面,我们另外建立一个新的number.php,来显示一个数字的四舍五入结果。当然,因为这个number.php是用来做数学运算的,所以我们需要另外一个文件来写这个程序。

新建一个文本文件,并且把文件名改成number.php。

在number.php内输入以下代码:

class number extends spController
{
function show(){
$num = 3.1415;
echo "原来数字是$num";
echo "
";
$num = round($num);
echo "经过四舍五入后,结果是:$num";
}
}
?>
输入完成后,我们在原来的main.php上面改写了一下链接:
class main extends spController
{
function index(){
echo "Hello World";
echo "
显示数字的四舍五入";
}
function time(){
echo date("Y-m-d H:i:s");
}
}
?>
打开您的浏览器,访问http://localhost/,然后点击链接“显示数组的四舍五入”,我们可以看到:
helloworoldshownum[1].jpg
至此,我们可以发现一些规律:

helloworoldshownum2[1].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。

2012-08-04 11:00:01