`
lfq618
  • 浏览: 88492 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

快速入门二、Hello World

阅读更多

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

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

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

1 <?php
2 class main extends spController
3 {
4 function index(){
5 echo "Hello World";
6 }
7 }
8 ?>

将以下代码:

echo "Hello World";

替换红色部分的代码:

function index(){

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

}

如何打开PHP文件?请使用windows自带的记事本,或者可以使用EmEditor或者EditPlus(Google一下就可以找到)。

打开您的浏览器,输入http://localhost/,您将可以看到:

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

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

01 <?php
02 class main extends spController
03 {
04 function index(){
05 echo "Hello World";
06 echo "<br><a href='index.php?c=main&a=time'>显示当前时间</a>";
07 }
08 function time(){
09 echo date("Y-m-d H:i:s");
10 }
11 }
12 ?>
13     

刷新刚才的网址(http://localhost),您可以看到:

点击“显示当前时间”的链接,您将可以看到:

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

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

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

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

01 <?php
02 class number extends spController
03 {
04 function show(){
05 $num = 3.1415;
06 echo "原来数字是$num";
07 echo "<br>";
08 $num = round($num);
09 echo "经过四舍五入后,结果是:$num";
10 }
11 }
12 ?>

输入完成后,我们在原来的main.php上面改写了一下链接:

01 <?php
02 class main extends spController
03 {
04 function index(){
05 echo "Hello World";
06 echo "<br><a href='index.php?c=number&a=show'>显示数字的四舍五入</a>";
07 }
08 function time(){
09 echo date("Y-m-d H:i:s");
10 }
11 }
12 ?>

打开您的浏览器,访问http://localhost/,然后点击链接“显示数组的四舍五入”,我们可以看到:

至此,我们可以发现一些规律:

在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。

分享到:
评论

相关推荐

    Maven+SpringMVC的入门级HelloWorld实例

    在IT行业中,Maven和SpringMVC是两个非常重要的组件,它们分别是项目管理和Web应用程序开发的核心...通过这个入门级的HelloWorld实例,我们可以快速理解这两个工具的基本用法,为进一步深入学习和实践打下坚实的基础。

    JNI入门之HelloWorld(一)

    ### JNI入门之HelloWorld(一)详解 #### 一、引言 JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码与其他语言写的代码进行交互。JNI接口提供了若干公共服务,并为Java虚拟机和本机应用程序或...

    Struts2入门之HelloWorld

    本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...

    jsf 入门 helloWorld

    **JSF(JavaServer Faces)入门 HelloWorld 指南** JavaServer Faces (JSF) 是一个用于构建用户界面的 JavaEE 核心技术,它提供了一种声明式的方式来创建 Web 应用程序的用户界面。JSF 提供了一个组件模型,使得...

    认识Android入门的HelloWorld程序

    ### 认识Android入门的HelloWorld程序 #### 程序构成详解 本文旨在通过剖析一个简单的`HelloWorld`程序,让读者深入了解Android应用程序的基本结构及其运行机制。这对于初次接触Android开发的学习者而言至关重要。...

    dubbo 入门案例 helloworld

    【标题】"Dubbo入门案例HelloWorld"是一个基础的学习教程,旨在帮助初学者理解并实践Dubbo框架的基本用法。Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC(远程过程调用)框架,它提供了服务治理、负载均衡、...

    C#入门

    C#第一个程序,helloworld using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace helloworld { class helloworld { [STAThread] static void Main(string[] args)...

    Spring 入门程序HelloWorld

    第一次共享自己的代码,Spring Hello World。代码比较简单,适合初学者,入门使用。高手就不要下载。呵呵。

    hello world hello world

    标题中的“hello world hello world”和描述中的“hello world”似乎是在引用计算机编程中的经典入门程序,通常用于演示一个语言的基本输出功能。在大多数编程语言中,“Hello, World!”是初学者编写的第一个程序,...

    creo二次开发helloworld

    标题中的“helloworld”是许多编程语言中的入门示例,旨在帮助初学者快速熟悉编程环境和基础语法。在CREO二次开发中,"helloworld"项目通常会展示如何设置开发环境,创建一个简单的CREO插件,并实现一些基本功能,如...

    java 入门 hello world

    java 入门 public class helloworld{ public static void main String[] args { System out println &quot;hello world&quot; ; } }

    Android开发入门 实例 helloworld

    在Android开发领域,"Hello, World!"项目是一个经典的起点,它为初学者提供了一个简单而直接的编程体验,帮助他们理解和熟悉Android应用的基本构建过程。本文将深入探讨这个入门实例,带您逐步走进Android开发的世界...

    iphone 开发入门例子 helloworld

    在Xcode中创建新项目时,选择"Single View App"模板,填写项目名称(例如:helloworld)和组织标识符,选择Swift作为编程语言。 三、ViewController 在iOS应用中,`UIViewController`是屏幕内容的基本控制器。在...

    [AI教程]TensorFlow入门:Hello World与基本操作-代码

    [AI教程]TensorFlow入门:Hello World与基本操作-代码

    iBatis入门Helloworld

    iBatis,现已被更名为MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。...通过这个简单的"iBatis入门Helloworld"项目,你可以快速掌握iBatis的基础操作,并为进一步学习和应用打下坚实基础。

    Dubbo入门之HelloWorld

    总之,"Dubbo入门之HelloWorld"是一个很好的起点,通过实践这个简单的示例,我们可以快速理解Dubbo的工作原理,并为进一步深入学习和掌握Dubbo的高级特性和最佳实践打下坚实的基础。在实际开发中,结合源码阅读和...

    Hello_World.zip_hello world _world

    public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` 这两个例子展示了不同编程语言中输出文本到控制台的方法。 标签“hello_world_ world”...

    Fortran 入门教程之Hello world.pdf

    ### Fortran 入门教程之Hello world #### 知识点概述 1. **Fortran简介及历史背景** 2. **“Hello, World!”程序的意义及其在编程学习中的作用** 3. **Fortran编译器的选择与安装** 4. **Fortran程序的基本结构** ...

    cxf 入门(hello world)

    public class HelloWorldImpl implements HelloWorld { public String sayHello(String name) { return "Hello, " + name; } } ``` **步骤三:配置CXF并发布服务** 1. 在Maven的src/main/webapp/WEB-INF目录下...

    guice入门教程helloworld篇

    在"Guice入门教程HelloWorld篇"中,我们将学习如何使用Guice来构建简单的Java应用程序。首先,我们需要理解Guice的核心概念——模块(Module)和绑定(Binding)。模块是Guice配置的核心,它定义了哪些类应该被实例...

Global site tag (gtag.js) - Google Analytics