用php编写我的第一段代码:hello world
一、php环境的搭建
在编写php前,先搭建php环境,我选择了一站式安装软件WampServer,WampServer的下载地址:http://www.wampserver.com/
WampServer的最新版本2.5内置:
Apache 2.4.9
PHP 5.5.12
MySQL 5.6.17
安装也非常简单,一路下一步,搞定!安装成功以后,访问http://localhost/会显示如下内容:

二、php开发框架选择
php的第三方开发框架有很多,我通过对比,选择了一款简单容易操作的框架thinkphp,thinkphp的官方网站为:http://www.thinkphp.cn/
thinkphp的最新版本为5.0,不过我这里选择了应用比较广泛的3.2.3,官方提供了两个版本的下载,一个是核心版,另一个是完整版。看别人的意思就是高手用核心版,普通开发人员用完整版,作为一个小菜,我选择完整版。
我的wamp安装在D:\Program Files\wamp目录,这里我把thinkphp目录解压到D:\Program Files\wamp\www\thinkphp目录下,访问http://localhost/thinkphp,如果出现如下内容,表示thinkphp安装成功:

三、用thinkphp编写hello world
访问到thinkphp的首页面后,thinkphp会自动在thinkphp/Application目录下创建Home文件夹,并在Home文件夹下创建一系列的文件

我们刚才访问到的首页,其实就是在访问thinkphp/Application/Home/Controller/IndexController.class.php
下面我们来写我们自己的代码。
在thinkphp/Application/Home/Controller/目录下创建Demo1Controller.class.php文件,内容如下:
<?php
namespace Home\Controller;
use Think\Controller; class Demo1Controller extends Controller {
public function index(){
echo 'hello world';
}
}
对应的访问地址为:http://localhost/thinkphp/index.php/Home/Demo1/index
激动人心的时刻出现了,那就是我的第一段php代码:hello world出现了

访问地址的规则为http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2
index.php 为入口文件
Home/Demo1 为模块名
index为方法名
貌似是这么对应的?暂且认为是这样的吧。
反正至少可以庆祝一下了,用php写出了自己的hello world
四、以MVC的方式展示hello world
把以上的代码稍作修改,把后台代码放在Controller中,视图展示放在View中
Demo1Controller.class.php代码修改如下:
<?php
namespace Home\Controller;
use Think\Controller; class Demo1Controller extends Controller {
public function index(){
echo 'hello world';
} public function test1(){
$this->assign('name','hello world');
$this->display();
}
}
然后在thinkphp/Application/Home/View/目录下创建Demo1文件夹,Demo1文件夹下创建文件test1.html文件,内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Demo1</title>
</head>
<body>
{$name}!
</body>
</html>
对应的访问地址为:http://localhost/thinkphp/index.php/Home/Demo1/test1
这样,以MVC的方式显示hello world的代码就已经完成了。
用php编写我的第一段代码:hello world的更多相关文章
- shell编程学习笔记(一):编写我的第一段代码
目前在学习Shell编程,我会把我的学习笔记记录在这里.大神可以直接略过~ 嗯,第一段代码,肯定是要输出Hello World了~ 以下蓝色字体的内容为linux命令,红色字体的内容为输出的内容: # ...
- 初学Java,第一段代码
public class myapp { public static void main(String[] args) { // TODO Auto-generated method stub Sys ...
- 我的第一段ionic代码
ionic是基于angularjs的前端框架,用于实现移动app. 下面是第一段代码,先贴代码,有时间再整理: demo1.htm <!DOCTYPE html> <html ng- ...
- HTML5 & CSS3初学者指南(1) – 编写第一行代码
介绍 网络时代已经到来.现在对人们来说,每天上网冲浪已经成为一种最为常见的行为. 在网页浏览器中输入一段文本地址,就像http://www.codeproject.com,等待一下,网页就加载到浏览器 ...
- python学习笔记1--python简介和第一行代码编写
一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...
- 我的第一段jQuery代码
说起 jQuery,很多人可能觉得,不算什么,就是个js类库.而,对于我,下面这几行代码,是一个新的开始. 多年来,我一直在使用MooTools ,他面向对象,写起来结构清晰分明,都是在原生js的基础 ...
- 编写更好的C#代码
引言 开发人员总是喜欢就编码规范进行争论,但更重要的是如何能够在项目中自始至终地遵循编码规范,以保证项目代码的一致性.并且团队中的所有人都需要明确编码规范所起到的作用.在这篇文章中,我会介绍一些在我多 ...
- 用Flow编写更好的js代码
关于本文: 原文地址 翻译地址 译者:野草 本文发表于前端早读课[第897期] 你是否经常在debug那些简单可避免的bug?可能你给函数传参的时候搞错了参数的顺序,或者本来应该传个Number类型的 ...
- 第一行代码:以太坊(2)-使用Solidity语言开发和测试智能合约
智能合约是以太坊的核心之一,用户可以利用智能合约实现更灵活的代币以及其他DApp.不过在深入讲解如何开发智能合约之前,需要先介绍一下以太坊中用于开发智能合约的Solidity语言,以及相关的开发和测试 ...
随机推荐
- centos 7 安装python3.5
1.安装编译环境 yum groupinstall 'Development Tools' yum install zlib-devel bzip2-devel openssl-devel ncure ...
- 【BZOJ 2460】线性基
2460: [BeiJing2011]元素 Description 相传,在远古时期,位于西方大陆的 Magic Land 上,人们已经掌握了用魔法矿石炼制法杖的技术.那时人们就认识到,一个法杖的法力 ...
- python gensim的第一次试用
参考于 http://blog.csdn.net/xiaoquantouer/article/details/53583980 有一个地方很重要,一定要安装anaconda,安装库简直不要太方便. 先 ...
- SD卡 TF卡 接口引脚定义
- Spring ListFactoryBean实例
ListFactoryBean”类为开发者提供了一种在Spring的bean配置文件中创建一个具体的列表集合类(ArrayList和LinkedList). 这里有一个 ListFactoryBean ...
- matlab mex中C++内存全局共享和持久化
为提高matlab程序运行速度,经常将核心程序编写为mex动态链接库: 然而,经常情况下,在mex函数中分配的内存或句柄希望在mex函数调用完成后在后续函数调用中能够共享而不被释放,本程序方法为解决该 ...
- SharePoint Server 2013 Offline Installation (without Internet)
转自:http://social.msdn.microsoft.com/Forums/sharepoint/zh-CN/08f90e0f-1f52-4eba-9f6e-4dd635ffaadc/sha ...
- warning: suggest parentheses around assignment used as truth value
编译时的警告如下:
- SSM框架中出现的几种注解的理解
转自IT·达人原文 Spring5:@Autowired注解.@Resource注解和@Service注解,有删改. 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物 ...
- JS是否存在方法重载
java里面是存在重载的,那么js中呢?这个问题面试的时候会经常遇到.但是可以肯定的说,js中是不存在重载的,但是我们可以通过其他的方式来模拟重载,我们可以通过argument方法来实现. argum ...