一、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的更多相关文章

  1. shell编程学习笔记(一):编写我的第一段代码

    目前在学习Shell编程,我会把我的学习笔记记录在这里.大神可以直接略过~ 嗯,第一段代码,肯定是要输出Hello World了~ 以下蓝色字体的内容为linux命令,红色字体的内容为输出的内容: # ...

  2. 初学Java,第一段代码

    public class myapp { public static void main(String[] args) { // TODO Auto-generated method stub Sys ...

  3. 我的第一段ionic代码

    ionic是基于angularjs的前端框架,用于实现移动app. 下面是第一段代码,先贴代码,有时间再整理: demo1.htm <!DOCTYPE html> <html ng- ...

  4. HTML5 & CSS3初学者指南(1) – 编写第一行代码

    介绍 网络时代已经到来.现在对人们来说,每天上网冲浪已经成为一种最为常见的行为. 在网页浏览器中输入一段文本地址,就像http://www.codeproject.com,等待一下,网页就加载到浏览器 ...

  5. python学习笔记1--python简介和第一行代码编写

    一.什么是python? python是一种面向对象,解释型语言,它语法简介,容易学习.本节博客就来说说本人学习python的心得体会. 二.python环境安装 目前python版本有python2 ...

  6. 我的第一段jQuery代码

    说起 jQuery,很多人可能觉得,不算什么,就是个js类库.而,对于我,下面这几行代码,是一个新的开始. 多年来,我一直在使用MooTools ,他面向对象,写起来结构清晰分明,都是在原生js的基础 ...

  7. 编写更好的C#代码

    引言 开发人员总是喜欢就编码规范进行争论,但更重要的是如何能够在项目中自始至终地遵循编码规范,以保证项目代码的一致性.并且团队中的所有人都需要明确编码规范所起到的作用.在这篇文章中,我会介绍一些在我多 ...

  8. 用Flow编写更好的js代码

    关于本文: 原文地址 翻译地址 译者:野草 本文发表于前端早读课[第897期] 你是否经常在debug那些简单可避免的bug?可能你给函数传参的时候搞错了参数的顺序,或者本来应该传个Number类型的 ...

  9. 第一行代码:以太坊(2)-使用Solidity语言开发和测试智能合约

    智能合约是以太坊的核心之一,用户可以利用智能合约实现更灵活的代币以及其他DApp.不过在深入讲解如何开发智能合约之前,需要先介绍一下以太坊中用于开发智能合约的Solidity语言,以及相关的开发和测试 ...

随机推荐

  1. 选择器(UIPickerView)

    Apple提供了两种形式的选择器:日期选择器(UIDatePicker)与自定义选择器(UIPickerView). 当用户使用日期选择器选定一个时间后,调用datePickerID.date可以直接 ...

  2. 我的OI生涯 第四章

    第四章 晚上来机房的人越来越多了,我也注意到一个常年独自坐在一个角落的男人————郝哥. 郝哥为人很安静,只是那时我还不知道他好不好,就没有与他交流过什么,这个优秀的男人以后我们还会提到,这里先不讲. ...

  3. 【bzoj1875】【JZYZOJ1354】[SDOI2009]HH去散步 矩阵快速幂 点边转换

    http://172.20.6.3/Problem_Show.asp?id=1354 http://www.lydsy.com/JudgeOnline/problem.php?id=1875  题意: ...

  4. zoj 3329 概率dp

    题意:有三个骰子,分别有k1,k2,k3个面.每个面值为1--kn每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和.当分数大于n时结束.求游戏的期望步数.初始分数为0 链接 ...

  5. Ubuntu 无线驱动问题

    最近一次更新系统后开机发现电脑只能连有线网络连不上无线网络.我平时都是连无线网络,没有买网线.所以查了下无线驱动相关问题资料,发现是由于更新系统造成无线网卡驱动莫名不见了.刚开始还以为是电脑将无线禁用 ...

  6. bzoj 3052 树上莫队 待修改

    感谢: http://vfleaking.blog.163.com/blog/static/174807634201311011201627/ http://hzwer.com/5250.html 好 ...

  7. phpRedis函数使用总结

    /*1.Connection*/ $redis = new Redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超 ...

  8. HDU 5575 Discover Water Tank 并查集 树形DP

    题意: 有一个水槽,边界的两块板是无穷高的,中间有n-1块隔板(有高度),现有一些条件(i,y,k),表示从左到右数的第i列中,在高度为(y+0.5)的地方是否有水(有水:k = 1),问最多能同时满 ...

  9. BZOJ 1176 Mokia CDQ分治+树状数组

    1176: [Balkan2007]Mokia Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 1854  Solved: 821[Submit][St ...

  10. 腾讯PHP工程师面试题两份

    试题一: PHP开发工程师笔试试卷 姓名:__________ 一.PHP开发部分 1.合并两个数组有几种方式,试比较它们的异同 2.请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为 ...