• This repository has been archived on 09/Mar/2020
  • Stars
    star
    1,946
  • Rank 23,820 (Top 0.5 %)
  • Language
    PHP
  • Created over 8 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PHPHub Ver 5 is a Forum project Powered by Laravel 5.1, and it is also the project build up PHP & Laravel China community (此项目已弃用)



macbook

项目概述

PHPHub Laravel 5.1 版本。

运行环境

  • Nginx 1.8+
  • PHP 5.6+
  • Mysql 5.7+
  • Redis 3.0+
  • Memcached 1.4+

开发环境部署/安装

本项目代码使用 PHP 框架 Laravel 5.1 开发,本地开发环境使用 Laravel Homestead

下文将在假定读者已经安装好了 Homestead 的情况下进行说明。如果您还未安装 Homestead,可以参照 Homestead 安装与设置 进行安装配置。

基础安装

1. 克隆源代码

克隆源代码到本地:

> git clone https://github.com/summerblue/phphub5.git

2. 配置本地的 Homestead 环境

1). 运行以下命令编辑 Homestead.yaml 文件:

homestead edit

2). 加入对应修改,如下所示:

folders:
    - map: ~/my-path/phphub5/ # 你本地的项目目录地址
      to: /home/vagrant/phphub5
sites:
    - map: phphub5.app
      to: /home/vagrant/phphub5/public

databases:
    - phphub5

3). 应用修改

修改完成后保存,然后执行以下命令应用配置信息修改:

homestead provision

注意:有时候你需要重启才能看到应用。运行 homestead halt 然后是 homestead up 进行重启。

3. 安装扩展包依赖

> composer install

4. 生成配置文件

> cp .env.example .env

5. 使用安装命令

虚拟机里面:

php artisan est:install

更多信息,请查阅 ESTInstallCommand

6. 配置 hosts 文件

主机里:

echo "192.168.10.10   phphub5.app" | sudo tee -a /etc/hosts

前端工具集安装

代码里自带编译后的前端代码,如果你不想开发前端样式的话,你是不需要配置前端工具集的,可直接跳过直达 链接入口 部分。

1). 安装 node.js

直接去官网 https://nodejs.org/en/ 下载安装最新版本。

2). 安装 Gulp

npm install --global gulp

3). 安装 Laravel Elixir

npm install

4). 直接 Gulp 编译前端内容

gulp

5). 监控修改并自动编译

gulp watch

链接入口

请修改 .env 文件为 APP_ENV=localAPP_DEBUG=true

在开发环境下,直接访问后台地址即可登录 1 号用户。

至此, 安装完成。

扩展包描述

扩展包 一句话描述 在本项目中的使用案例
infyomlabs/laravel-generator Laravel 代码生成器 开发时的 Migration、Model、Controller 都使用此扩展包生成。
orangehill/iseed 将数据表里的数据以 seed 的方式导出 BannersTableSeeder, LinksTableSeeder, CategoriesTableSeeder 和 TipsTableSeeder 使用此扩展包生成。
barryvdh/laravel-debugbar 调试工具栏 开发时必备调试工具。
rap2hpoutre/laravel-logviewer Log 查看工具 生产环境下,使用此扩展包快速查看 Log,已做权限控制。
laracasts/presenter Presenter 机制 以下 Model: User、Topic、Notification 都使用到了 Presenter。
league/html-to-markdown 将 HTML 转换成 Markdown 用户发帖、回复帖子时使用了此扩展包。
erusev/parsedown 将 Markdown 转换成 HTML 用户发帖、回复帖子时使用了此扩展包。
laravel/socialite 官方社会化登录组件 GitHub 登录逻辑使用了此扩展包。
NauxLiu/auto-correct 自动给中英文之间加入合理的空格,纠正专用名词大小写 用户发帖时用此扩展包过滤标题。
Intervention/image 图片处理功能库 用发帖和回复帖子时,图片上传的逻辑使用了此扩展包。
zizaco/entrust 用户组权限系统 整站的权限系统基于此扩展包开发。
VentureCraft/revisionable 记录 Model 的变更日志 以下 Model: User, Topic, Reply, Category, Banner 都用此扩展包记录删除日志。
mews/purifier HTML 白名单过滤器 用户发帖、回复时防止 XSS 过滤。
oumen/sitemap Sitemap 生成工具 本项目的 sitemap 使用此扩展包生成。
spatie/laravel-backup 数据库备份解决方案 本项目的数据库备份使用此扩展包完成。
summerblue/administrator 管理后台解决方案 本项目的后台使用此扩展包开发。
laracasts/flash 简单的 flash messages 用户登录成功、发帖成功后的提示使用此扩展包开发

自定义 Artisan 命令列表

命令 说明
est:install 安装命令,仅支持开发环境下运行,在初次安装才有必要运行。
est:reinstall 重装命令,仅支持开发环境下运行,调用此命令会重置数据库、重置用户身份。

计划任务

此项目的计划任务都以 Laravel 的 任务调度 方式执行。

命令 说明 调用
backup:run --only-db 数据库备份,每 4 小时运行一次,属于 spatie/laravel-backup 的逻辑 php artisan backup:run --only-db
backup:clean 清理过期的数据库备份,每日 1:20 运行,属于 spatie/laravel-backup 的逻辑 php artisan backup:clean

代码生成器日志

本项目使用 infyomlabs/laravel-generator 快速构建项目, 记录这些日志目的为了方便后续开发可以借鉴。

php artisan make:scaffold Appends --schema="content:text,topic_id:integer:unsigned:default(0):index"

php artisan make:scaffold Attentions --schema="topic_id:integer:unsigned:default(0):index,user_id:integer:unsigned:default(0):index"

php artisan make:scaffold Links --schema="title:string:index,link:string:index,cover:text:nullable"

php artisan make:scaffold Replies --schema="topic_id:integer:unsigned:default(0):index,user_id:integer:unsigned:default(0):index,is_block:tinyInteger:unsigned:default(0):index,vote_count:integer:unsigned:default(0):index,body:text,body_original:text:nullable"

php artisan make:scaffold SiteStatuses --schema="day:string:index,register_count:integer:unsigned:default(0),topic_count:tinyInteger:unsigned:default(0),reply_count:integer:unsigned:default(0),image_count:integer:unsigned:default(0)"

php artisan make:scaffold Tips --schema="body:text:nullable"

php artisan make:scaffold Topics --schema="title:string:index,body:text,user_id:tinyInteger:unsigned:default(0),category_id:integer:unsigned:default(0),reply_count:integer:unsigned:default(0),view_count:integer:unsigned:default(0),vote_count:integer:unsigned:default(0),last_reply_user_id:integer:unsigned:default(0),order:integer:unsigned:default(0),is_excellent:tinyInteger:unsigned:default(0),is_wiki:tinyInteger:unsigned:default(0),is_blocked:tinyInteger:unsigned:default(0),body_original:text:nullable,excerpt:text:nullable"

php artisan make:scaffold Topics --schema="user_id:integer:unsigned:default(0),votable_id:integer:unsigned:default(0),votable_type:string:index,is:string:index"

php artisan make:scaffold Users --schema="github_id:integer:unsigned:default(0):index,github_url:string:index,email:string:index:index,name:string:index:index"

php artisan make:scaffold Votes --schema="user_id:integer:unsigned:default(0),votable_id:integer:unsigned:default(0),votable_type:string:index,is:string:index"

php artisan make:scaffold Banners --schema="position:string:index,order:integer:unsigned:default(0):index,image_url:string,title:string:index,description:text:nullable"

php artisan make:scaffold NotificationMailLogs --schema="from_user_id:integer:unsigned:default(0):index,user_id:integer:unsigned:default(0):index,type:string:index,body:text:nullable"

License

使用 PHPHub5 构建,或者基于 PHPHub5 源代码修改的站点 必须 在页脚加上 Powered by PHPHub 字样,并且必须链接到 https://learnku.com 上。必须 在页面的每一个标题上加上 Powered by PHPHub 字样。

在遵守以上规则的情况下,你可以享受等同于 MIT 协议的授权。

或者你可以联系 [email protected] 购买商业授权,商业授权允许移除页脚和标题的 Powered by PHPHub 字样。

More Repositories

1

laravel-shop

Laravel 电商实战教程的项目代码
PHP
2,443
star
2

phphub

(Deprecated See - https://github.com/summerblue/phphub5 ) PHPHub is a Forum project written in Laravel 4.2, and it is also the project build up PHP & Laravel China community - http://phphub.org.
PHP
1,814
star
3

larabbs

A forum project base on Laravel
HTML
1,066
star
4

laravel-package-top-100

对 Packagist 上打了 Laravel 标签 的扩展包进行整理,截止到现在 2016 年 8 月 9号,有超过 7176 个扩展包,以下是下载量最大的 100 个。
PHP
993
star
5

laravel5-cheatsheet

A quick reference guide (cheat sheet) for Laravel 5.1 LTS, listing artisan, composer, routes and other useful bits of information.
PHP
786
star
6

laravel-ubuntu-init

A shell script for setting up Laravel Production environment on Ubuntu 14.04 & Ubuntu 16 & Ubuntu 18 system.
Shell
748
star
7

psr.phphub.org

PSR 中文翻译
CSS
390
star
8

news.laravel-china.org

Source Code of the https://news.laravel-china.org/ website, build on top of Laravel 5.1. Laravel 资讯网站源代码,使用 Laravel 5.1 构建
PHP
365
star
9

generator

Laravel 5.3+ Scaffold Generator, Support both bootstrap and Semantic UI
PHP
334
star
10

gohub

Gohub,以论坛 API 为主题,设计的初衷是将其打造为高性能、功能齐全的 API 框架。基于 gin, cobra, viper, zap, gorm, redis, mysql, sqlite, email, jwt
Go
327
star
11

administrator

a fork from Frozennode/Administrator
CSS
290
star
12

phphub-ui

Product planing and UI Design for PHPHub App and Web site.
278
star
13

laravel-blog

Laravel-Blog is a blog application written in Laravel 4.2.
JavaScript
191
star
14

goblog

Goblog 是一个基于 Go 标准库构建的博客系统。此项目非常适合作为 Go 新手的第一个上手项目。
Go
186
star
15

laravel-tutorial

Laravel 中文新手书籍《Laravel 入门教程》的源代码
PHP
145
star
16

laravel-tutorial-sample

PHP
137
star
17

weibo

Laravel 中文新手课程《L01 Laravel 教程 - Web 开发实战入门》的源代码
PHP
105
star
18

github-toc

Chrome Extension allows to show you a "table of content" generated by Github project README or WIKI.
JavaScript
66
star
19

larabbs-weapp

CSS
64
star
20

laravel-taggable

Taggable Trait for using tag inside Laravel Eloquent models, with Baum's Nested Set pattern support.
PHP
54
star
21

baidu-translate-ios-sdk

百度翻译 iOS SDK (非官方)
Objective-C
46
star
22

github-menu-back

Improvement of Github Top Menu
CSS
46
star
23

annotator

划词高亮功能
JavaScript
35
star
24

laracast_robot

A robot a download laracasts.com videos
JavaScript
29
star
25

zhihu

L07 Laravel 教程 - Laravel TDD 源码
PHP
28
star
26

administrator-demo

demo for https://github.com/summerblue/administrator
JavaScript
22
star
27

chrome-phphub-notifier

Notify you when interesting thing is happening at PHPHub.
JavaScript
18
star
28

http-class-for-php

HTTP Class for PHP , support for Both Curl and Socket
PHP
11
star
29

QiniuSdk_v7_demo

Little Demo Code for Qiniu v7.* SDK https://github.com/qiniu/objc-sdk
Objective-C
10
star
30

php-emoji-for-apns

a php helper function to send emoji encoded string to apns
PHP
10
star
31

lt-settler

为 《Laravel 入门教程》 https://laravel-china.org/laravel-tutorial/5.1/about 定制的 homestead box 打包脚本
Shell
10
star
32

Amr2Wav

A library that convert audio file format from amr to wav .
Objective-C
8
star
33

CS193pWinter-2013

Stanford CS193p Developing Applications for iOS Winter 2013 Source Code
Objective-C
4
star
34

laravel-quickstart-intermediate-5.1

Source code for http://laravel-china.org/docs/5.1/quickstart-intermediate, base on Laravel 5.1
PHP
3
star
35

voicecloud_with_amr2wav_demo

此项目是 `科大讯飞 - 语音识别` 转换 amr 音频格式的 DEMO.
Objective-C
3
star
36

ios-framework-comments

为 iOS 常用框架添加注释, 作为学习 iOS 开发的资料
Objective-C
2
star
37

nsscreencasts_robot

Video downloader for nsscreencasts.com
JavaScript
2
star
38

summerblue.me

Source code of the http://summerblue.me
ApacheConf
2
star
39

CS193pWinter-2011

Stanford CS193p Developing Applications for iOS Winter 2011 Source Code
Objective-C
1
star
40

weibo7.x

PHP
1
star
41

kindness-is-more-important

We value kindness and friendly more than anything.
1
star
42

baker-doc-chinese

A quick translation in Chinese for http://bakerframework.com/
1
star
43

githunt-x

fork from kamranahmedse/githunt add feature like: night mod, search, more time filter, next page ...
JavaScript
1
star
44

emoji-cheat-sheet

fork from https://github.com/WebpageFX/emoji-cheat-sheet.com , for PHPHub loading speed
HTML
1
star