• 听说thinkphp5要正式发布了,对于这个蛮不错的实用开发工具,我觉着还是有必要继续跟进学习使用使用的,翻了翻资料找到了这个还未完善的文档,不过,够了,先来个简单开始吧,本文用的是dev-master分支。

  • 更多关注github:https://github.com/liu21st/think

  • 文档地址:http://www.kancloud.cn/thinkphp/thinkphp5-guide/30549

  • demo源码地址:https://github.com/dingyiming/learn-PHP-tp5

1.使用composer下载thinkphp5

先前在用laravel的时候就是用composer下载框架源码,真是很不错的,记得以前我用thinkphp3.2.3的时候是去官网下载的,体验果然还是命令行操作来的舒服

  • 如果没安装过composer,快去补个基础吧(mac上推荐个良梯叫 “鱼摆摆”),提供一些composer的资料:

    • http://pkg.phpcomposer.com/

    • http://www.kancloud.cn/thinkphp/composer

  • 新建一个示例项目tp5demo1

cd demos
composer create-project topthink/think tp5 dev-master --prefer-dist

2.从命令行打开sublime text2

  • mac终端中使用如下代码

alias subl=\''/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl'\'
  • 接着,就可以直接从终端使用sublime text2打开thinkphp5项目目录了

subl tp5demo1

OK!打开了。

3.看一下thinkphp5目录结构(copy在项目中README.md)

thinkphp最亲近国人的地方就是文档注释都中文,目录又清晰,也便很实用。

www  WEB部署目录(或者子目录)
├─composer.json         composer定义文件
├─README.md             README文件
├─LICENSE.txt           授权说明文件
├─application           应用目录
│  ├─common             公共模块目录(可以更改)
│  ├─runtime            应用的运行时目录(可写,可定制)
│  ├─module             模块目录
│  │  ├─config.php      模块配置文件
│  │  ├─common.php      模块函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─ ...            更多类库目录
│  ├─common.php         公共函数文件
│  ├─route.php          路由配置文件
│  ├─database.php       数据库配置文件
│  └─config.php         公共配置文件
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─.htaccess          用于apache的重写
│  └─router.php         快速测试文件
├─thinkphp              框架系统目录
│  ├─library            框架类库目录
│  │  ├─behavior        行为类库目录
│  │  ├─com             Com类库包目录
│  │  ├─think           Think类库包目录
│  │  ├─org             Org类库包目录
│  │  ├─ ...            更多类库目录
│  ├─traits             系统Traits目录
│  ├─vendor             第三方类库目录
│  ├─mode               应用模式目录
│  ├─tpl                系统模板目录
│  ├─base.php           基础文件
│  ├─convention.php     框架惯例配置文件
│  └─start.php          框架入口文件

4.用内置服务器启动thinkphp5

  • router.php用于php自带webserver支持,可用于快速测试

  • 启动命令:

php -S localhost:8888 -t . router.php

可以看到应用服务跑起来了,去浏览器用localhost:8888/tp5demo1/public测试

  • 但。。。我没能访问成功,本以为是自己的php7有问题,然后使用php-version切换了php版本还是无用,具体也不知道为啥,晚点再求教吧

  • 添加个Mac中homebrew安装和管理php版本的方法,查看文章

brew list
brew unlink php56
brew link php55brew install php-version //安装php-versionsource $(brew --prefix php-version)/php-version.sh && php-version 5php-version
php-version 5.6.16 //php-version切换php版本
php -v //查看php版本
  • So,转用Mamp,将thinkphp5访问localhost/tp5demo1/public开始成功了,晚点还是继续使用vagrant作为开发环境了。

5.URL含义参照

http://serverName/应用(或应用入口文件)/模块/控制器/操作/[参数名/参数值...]

6.记录下Thinkphp5命名规范

这对于用工具来说还是蛮重要的,一来能屡清自己的思路,二来使代码更具可读性

目录和文件

  • 目录和文件名 采用 小写+下划线,并且以小写字母开头;

  • 类库、函数文件统一以.php为后缀(不再是xx.class.php);

  • 类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;

函数和类、属性命名

  • 类的命名采用驼峰法,并且首字母大写,例如 User、UserType,不需要添加controller、model等后缀,UserController直接更改为User

  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;

  • 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法

  • 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性

  • 双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;

常量和配置

  • 常量以大写字母和下划线命名,例如 APP_DEBUG和 APP_MODE;

  • 配置参数以小写字母和下划线命名,例如 url_route_on;

数据表和字段

  • 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,类似 _username 这样的数据表字段可能会被过滤

实例化规范

  • 在ThinkPHP5.0中实例化一个类,可以采用:\Think\Route 或者\think\Route都是有效的,并且都是加载think\route.php文件,如果实例化一个\Org\UploadFile类的话会自动加载org\upload_file.php文件。

更多内容再继续学习和使用来体验吧!

【TP5】Thinkphp5初体验1相关推荐

  1. tp5缺少start.php,【TP5】Thinkphp5初体验1

    听说thinkphp5要正式发布了,对于这个蛮不错的实用开发工具,我觉着还是有必要继续跟进学习使用使用的,翻了翻资料找到了这个还未完善的文档,不过,够了,先来个简单开始吧,本文用的是dev-maste ...

  2. 苹果电脑安装python3密码_mac系统安装Python3初体验

    前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7. 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 ...

  3. MapReduce编程初体验

    需求:在给定的文本文件中统计输出每一个单词出现的总次数 第一步: 准备一个aaa.txt文本文档 第二步: 在文本文档中随便写入一些测试数据,这里我写入的是 hello,world,hadoop he ...

  4. 小程序 缩放_缩放流星应用程序的初体验

    小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...

  5. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言 2 下载.安装wxWidgets 3 wxWidgets应用程序初体验 4 wxWidgets学习资料及利用方法指导 5 ...

  6. 用鸿蒙跑了个 “hello world”!鸿蒙开发初体验

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源 | https://my.oschina.net/u ...

  7. Windows Embedded Standard开发初体验(二)

    支持Silverlight的Windows Embedded Standard 好了,完成安装之后,我们就可以来做Windows Embedded Standard的第一个操作系统镜像了.在开始菜单中 ...

  8. 深度探索Hyperledger技术与应用之超级账本初体验(附部署代码)

    2019独角兽企业重金招聘Python工程师标准>>> 本章零基础地介绍了如何快速体验超级账本搭建的区块链网络,我们先绕过了比较复杂的初始化配置,用官方提供的fabric-sampl ...

  9. Spring环境搭建,IoC容器初体验~

    由于最近的任务是关于IoC配置文件格式的转换,所以需要从Spring的IoC容器开始学起,今天根据网上的介绍搭建了Spring环境,并对其IoC容器进行了初体验.文章中涉及到的软件以及推荐的一本关于S ...

最新文章

  1. Drupal8 社区文档之在Drupal中,查看网页的编辑一个页面的几乎是相同的
  2. gcc 与 glibc 的关系 glibc版本查看
  3. 如何使用Gradle外部脚本进行项目构建
  4. 有关糖尿病模型建立的论文_预测糖尿病结果的模型比较
  5. 在Amazon EMR上运行Hadoop MapReduce作业
  6. php概率计算_PHP指定概率算法
  7. mipi协议_MIPI物理层一致性测试:D-PHY一致性测试
  8. Linux 6.5选包截图
  9. c++ string
  10. java代码自动生成,在线生成非常好用收藏
  11. linux本地yum源配置
  12. 如何去掉图片上的文字?
  13. 仙之侠道2玖章各个任务详情_仙之侠道2玖章
  14. 对话职业经理人阿朱:程序员转型期的职业选择
  15. 有道云笔记Markdown编辑器 基础操作使用说明
  16. 【mmdeploy】mmseg转ONNX/TensorRT,附推理代码
  17. win10系统下mysql数据库启动不起来
  18. PostgreSQL问题解决--连接数过多
  19. Linux实战001:VMware下安装Ubuntu18.04(服务器版)
  20. 孙子兵法——【12】(百家讲坛观后记录)

热门文章

  1. 阿里巴巴整理的python_阿里P8大佬整理的2020年最全99道python面试题,文末附答案...
  2. 自动化测试用例设计的原则
  3. java教务管理系统数据库设计_新手可以学习的教务管理系统详细设计(一)
  4. 同名字的数值求和插入行_SUM求和函数的运用,这些EXCEL表格技能你必须知道,让你事半功倍...
  5. java商品信息管理系统代码_[源码分享]学生信息管理系统(管理员)
  6. 安卓案例:绑定和解绑服务
  7. 【codevs2421】【BZOJ1858】序列操作,线段树
  8. mit oracle 350平衡线,MIT MI-350 CVT 平衡线_已售器材欣赏区_信谊音响_二手音响_音响发烧站_高级音响 - 音响贵族网...
  9. 2017.9.23 新Nim游戏 失败总结
  10. kali2018安装教程_2018最新Kali升级教程