资讯专栏INFORMATION COLUMN

ThinkPHP5练手Demo实战

opengps / 803人阅读

摘要:最近有个朋友有个小需求,刚好有时间,也刚好准备研究一下,听说规范了,而且更傻瓜化了。便做了这个论坛的小,开源出来玩玩,改天做两个模版。

最近有个朋友有个小需求,刚好有时间,也刚好准备研究一下tp5,听说tp5规范了,而且更傻瓜化了。
便做了这个论坛的小Demo,开源出来玩玩,改天做两个模版。说句实话,TP5模型层,数据库层真的很好用

Env Docker

docker大家肯定已经熟悉不过了

环境: Redis3.1+PHP5.6-fpm+Nginx+Mysql5.7

项目地址

https://github.com/zhaojunlik...

演示站点

http://blog.oeynet.org

Usage

1.git clone https://github.com/zhaojunlik... client101vbbs

2.docker-compose up --build -d

第一次需要手动导入测试数据

导入默认的测试数据

$  docker network ls
$  docker run -it --link mysql-db:mysql --network client101vbbs_default -v `pwd`/data/backup:/data/backup:ro --rm mysql:5.7 sh -c "exec mysql -h"mysql" -P"3306" -uroot -p"zhaojun" oeynet_client_bbs<./data/backup/oeynet_client_bbs.sql"
Docker Containers

composer 临时容器,安装composer包

bower 临时容器,安装前端包、

下面就是nmp环境而已了

nginx

php-fpm

mysql-db

redis

项目依赖

加法验证码直接改的TP的 https://github.com/zhaojunlik...

助手类 https://github.com/zhaojunlik...

Bower
{
  "name": "101-bbs-front",
  "version": "1.0.0",
  "keywords": [
    "101v BBs"
  ],
  "main": "app.js",
  "dependencies": {
    "jquery": "^3.2.1",
    "vue": "^2.3.4",
    "bootstrap": "^3.3.7",
    "requirejs": "^2.3.3",
    "require-css": "^0.1.10",
    "axios": "^0.16.2",
    "layer": "^3.0.3",
    "wangEditor": "^3.0.3",
    "animate.css": "^3.5.2"
  }
}
Composer
{
  "name": "oeynet/simple-bbs",
  "description": "new simple bbs",
  "type": "project",
  "keywords": [
    "bbs",
    "forum",
    "project"
  ],
  "homepage": "http://bbs.oeynet.com/",
  "license": "Apache-2.0",
  "authors": [
    {
      "name": "zhaojunlike",
      "email": "zhaojunlike@gmail.com"
    }
  ],
  "require": {
    "php": ">=5.4.0",
    "topthink/framework": "^5.0.6",
    "topthink/think-captcha": "^1.0",
    "topthink/think-testing": "^1.0",
    "bluem/tree": "^1.5",
    "oeynet/helper": "^0.1",
    "oeynet/add-captcha": "^0.2.0",
    "voku/anti-xss": "^2.1"
  },
  "autoload": {
    "psr-4": {
      "tests": "tests"
    },
    "files": [
    ]
  },
  "extra": {
    "think-path": "thinkphp"
  },
  "config": {
    "preferred-install": "dist"
  },
  "repositories": {
    "packagist": {
      "type": "composer",
      "url": "https://packagist.phpcomposer.com"
    }
  }
}
Tp5踩过的坑

1.模型关联

2.模型验证,控制器验证

3.动态属性

4.view层大小写(以为控制器对应视图层大小写都规范,最后view全部都换小写了,不然会在linux部署报错)

Demo演示 Screenshots 首页

首页我的附件

内容管理

用户管理和小黑屋

系统统计和配置

RBAC权限用户组

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23268.html

相关文章

  • TP5整合 WorkerMan 以及 GatewayWorker

    摘要:将解压后的文件夹中的复制到的根目录,即与同级的目录。将文件中最后部分循环括号内的路径改为自己的正确路径。整合版安装使用,来安装进入根目录,即。安装成功之后删除。加载框架引导文件创建的,命名为。在,目录不存在自行创建。 TP5整合GatewayWorker Windows版安装 a)使用composer create-project topthink/think testTG,来安装th...

    Tony 评论0 收藏0
  • TP5整合 WorkerMan 以及 GatewayWorker

    摘要:将解压后的文件夹中的复制到的根目录,即与同级的目录。将文件中最后部分循环括号内的路径改为自己的正确路径。整合版安装使用,来安装进入根目录,即。安装成功之后删除。加载框架引导文件创建的,命名为。在,目录不存在自行创建。 TP5整合GatewayWorker Windows版安装 a)使用composer create-project topthink/think testTG,来安装th...

    Fundebug 评论0 收藏0
  • thinkphp5+swoole实现异步邮件群发(SMTP方式)

    摘要:图中其他两个文件和是邮件发送类的核心文件,为了简化调用,抽取了出来,详细的用法和参数设置,可以参考的使用说明注意点在此步骤中,我们需要注意几点是你设置的邮件发送的账号是否已经开启并且找对对应的安全协议和端口号。 1、环境说明 阿里云centos7thinkphp5.0.11swoole2.0.8 2、tp实现邮件发送 在项目下建立如下的文件目录:showImg(https://segm...

    tuniutech 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<