/** * 在容器中注册绑定。 * * @param string|array $abstract * @param \Closure|string|null $concrete * @param bool $shared * @return void * * @throws \Exception */ public function bind($abstract, $concrete = null, $shared = false) { // }# StyleCI 别担心你的代码风格不够漂亮在合并拉取请求后, StyleCI 将会自动把所有样式进行修正,再合并到 Discuz! Q 存储库中。这使得我们更多的关注贡献的内容而不是代码风格。 服务器要求 Discuz! Q 对系统有一些要求,请确保你的服务器满足以下要求: MySQL >= 5.7 PHP >= 7.2.0 BCMath PHP 拓展 Ctype PHP 拓展 JSON PHP 拓展 Mbstring PHP 拓展 OpenSSL PHP 拓展 PDO PHP 拓展 Tokenizer PHP 拓展 XML PHP 拓展 下载 Discuz! Q Discuz! Q 使用 Composer 来管理项目依赖。因此,在使用 Discuz! Q 之前,请确保你的机器已经安装了 Composer。 内测下载 Discuz! Q 首先注册腾讯云帐号并实名认证,然后在API密钥管理处新建一个密钥,运行列命令可下载 Discuz Q composer create-project --prefer-dist qcloud/discuz --repository=https://cloud.discuz.chat composer会提示输入用户名和密码,请在用户名处输入通过API密钥管理创建的 SecretId,在密码处输入 SecretKey。当composer询问是否将密码保存时,可选择Yes。只要你已经登记过内测资格,就可以开始下载了。 你也可以在开始下载之前,先用下面的命令设置一下用户名和密码,这样下载时就不会再询问用户名和密码。输入下面的命令时,请用你自己的 SecretId 和 SecretKey 替换下面命令中的 <SecretId> 和 <SecretKey> composer config -g http-basic.cloud.discuz.chat <SecretId> <SecretKey> composer会自动下载Discuz! Q和依赖的所有第三方库。由于composer自身的原因,在下载第三方库时可能会比较慢,也有可能会在下载一些国外资源的时候出错,如果遇到这样的问题,请使用搜索引擎搜索解决,也可使用腾讯云的composer镜像。 请注意 请不要泄露自己的SecretId和SecretKey,泄露这两个信息等同于将自己的整个腾讯云帐号拱手送人,可能会导致高额帐单或数据丢失 Web 服务器配置 Nginx 如果你使用 Nginx ,除了PHP的相关配置之外,还要在你的站点配置中加入以下配置,建义开启 https 和 http2 ,将root目录指向 discuz/public 目录,同时一定要配置 location /、location /install 和 location /api ,将所有的请求将引导至 index.html 前端控制器和后端 index.php API控制器: listen 443 ssl http2; listen 80; server_name www.xxx.com; root /home/www/discuz/public; ssl_certificate /xxx/server.crt; ssl_certificate_key /xxx/server.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_prefer_server_ciphers on; ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5; ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; add_header Strict-Transport-Security "max-age=31536000"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; index index.html; location /install { try_files $uri $uri/ /index.php?$query_string; } location /api { try_files $uri $uri/ /index.php?$query_string; } location / { try_files $uri $uri/ /index.html; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; 通过站点启动安装 部署好服务器环境后,打开 http://{您的域名}/install 进入安装界面,按照页面提示进行安装。 配置说明 公共路径 安装完 Discuz! Q 之后,你的 web 服务的文档目录指向 public 路径。该路径下的 index.php 文件作为所有接口控制器, index.html 作为所有前端 HTTP 请求控制器。 配置文件 Discuz! Q 的所有配置文件存放在 config 目录下。每个选项都有文档标注,便于通过文件查看并熟悉对你有用的选项。 目录权限 在安装 Discuz! Q 后,你可能需要配置一些权限。 storage 目录在你的 web 服务下应该是可写的权限,否则 Discuz! Q 将无法运行。 应用密钥 在安装过程中,应用密钥已经通过 php disco key:generate 命令为你设置好了。 通常,这个字符串应该是 32 个字符长度。这个密钥将会设置在 config.php 文件中。如果应用密钥还没有设置,你的用户会话和其他的加密数据将会不安全 其他配置 Discuz! Q 几乎不需要除上面所说的其他什么配置了。打开你的站点开始你建站之旅然而,你可能会想要再次查看 config/config.php 文件和它的注释说明。它包含一些你希望根据你应用来更改的选项,诸如: timezone 和 locale 。
Discuz! Q 官方文档
Discuz! Q alpha v0.3.200315
本次版本基于上一版新增了3个功能点以及优化了部分问题,具体如下
主要更新功能为:
基于腾讯云-云点播服务,新增视频内容的发布能力
基于腾讯云-验证码服务,新增验证码校验能力
基于微信公众号的模板消息功能,新增微信通知的模板内容设置和发送场景开关
修复与优化的问题列表:
优化了传图传附件的loading效果
修复了微信内访问主题详情页,绑定登录后未正确跳转到详情页的问题
修复了后台批量禁用后,状态未实时刷新的问题
优化了引用回复,增加了回复人的显示
优化了返回按钮以及个人中心按钮的热点区域大小
优化了主题详情页点赞用户列表显示
优化了没开启短信服务时,我的资料页依然显示手机绑定的问题
优化了长文帖设置了付费金额后不可取消的问题
底层架构升级及若干安全性能优化
Discuz! Q alpha v0.2.200305
本次更新发布在Discuz.chat,暂未提供部署体验,请耐心等待
本次版本基于上一版新增了9个功能点以及优化了部分问题,具体如下
主要更新功能为:
新增用户注册审核功能
新增基于腾讯云人脸核身-实名认证的能力
对接腾讯云的对象存储COS,可设置通过COS存储附件
新增用户相互关注功能,并可筛选查看关注的人发布的内容
新增系统通知的模板内容设置和发送场景开关
新增用户使用钱包余额进行支付的能力
新增长文内容的发布能力
新增付费内容的发布以及付费查看内容的能力
新增财务统计报表
修复与优化的问题列表:
解决了我的通知中内容的排序问题
分类导航增加可按全部浏览
解决在QQ中访问报错的问题
优化词语过滤能力
解决分享的帖子打开跳转错误问题
优化了后台在Safari下的兼容性问题
优化了从首页查看详情后返回首页没有回到之前位置的问题
解决了搜索帖子返回数据有误的问题
优化了首页以及详情页图片懒加载的问题
优化了订单记录、钱包明细金额显示细节
Discuz! Q alpha v0.1.200124
本次更新发布在Discuz.chat,暂未提供部署体验,请耐心等待
本次版本主要为打造底层能力以及推出H5版本的前端页面,具体如下
主要更新功能为:
系统模式
两种站点加入模式:免费/付费
注册/登录
多种注册/登录方式:用户名+密码、手机号+验证码、微信绑定帐号
两种邀请注册模式:普通用户邀请注册、管理员指定角色组进行特殊邀请注册
灵活的注册控制:允许注册开关以及注册审核开关
注册安全检测机制:可配置密码最小长度以及密码复杂度
用户
用户管理:可维护用户的资料,变更用户角色以及对用户进行删除、禁用等操作
用户角色:可灵活增减用户角色,并配置各角色对应的权限
用户审核:开启注册用户审核后,可对进入到审核列表的用户进行审核、否决操作
用户资料:用户可维护头像、进行手机绑定/解绑、微信绑定/解绑、登录密码以及钱包密码的设置/修改
用户收藏:用户可对帖子进行收藏操作,并通过我的收藏查阅收藏内容
用户通知:用户站内的互动行为通知列表
用户关注:用户可相互关注,并可查看关注的用户发布的内容
用户认证:基于腾讯云的身份核验能力,实现用户的实名认证
内容
内容分类:可自定义内容分类,用户发布内容时可选择分类,并按照分类进行内容查看
内容形式:多种形式的内容主体,可发布主题帖、长文帖、付费帖、视频内容
内容元素:支持文本、表情、图片、附件、视频,并可设置图片及附件的类型和最大尺寸,内置Markdown编辑器
内容互动:可对内容进行回复、点赞、收藏、打赏、付费、分享等操作
内容管理:内容可进行置顶、加精、编辑、删除、审核等操作
第三方能力
微信内授权登录及PC端微信扫码登录服务:用户在微信中可通过直接授权进行绑定登录、在PC端可以采用微信扫描二维码的方式进行绑定登录
微信支付服务:集成微信商户支付服务,在注册加入站点或者对内容进行付费查看、打赏的时候可选择微信支付的方式进行付费
腾讯云图片内容安全服务(IMS):能精准识别涉黄、涉恐、涉政等有害内容,屏蔽违规的图片
腾讯云文本内容安全服务(TMS):可有效识别涉黄、涉政、涉恐等有害内容,能检测内容的危险等级,对于高危部分直接过滤,可疑部分人工复审
腾讯云短信服务(SMS):通过手机验证码校验的方式,对用户的身份进行核验,提升安全防护
腾讯云实名认证服务:基于姓名及身份证号码的方式对用户进行实名核验
腾讯云对象存储服务(COS):无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务
通知
多种通知行为:包括回复通知、点赞通知、打赏通知、系统通知
系统通知模板配置:可选择性开关各类型的系统通知,并可自定义各类型通知的模板内容
财务
支付方式:内置微信支付及钱包支付
钱包提现:对于钱包中的零钱,可在绑定了微信之后进行提现,提现的金额经过审核后自动转入微信零钱
资金明细:用户的钱包资金明细情况,包括收入和支出
订单明细:站点订单情况,订单包括付费加入站点、打赏帖子、付费查看主题等
财务报表:展示站点的财务概括,整体盈利统计趋势及订单统计趋势
编码风格
Discuz! Q 遵循 PSR-12-MEAT PSR-12 编码规范和 PSR-4 自动加载规范。
# PHPDoc
以下是正确写法的 Discuz! Q 文档注释。