ThinkSNS Plus 新扩展包安装方法简介
ThinkSNS Plus 为了满足 laravel 升级带来的新特性以及新体验,会随时对各种技术
参数进行调整,包括 laravel 版本升级, PHP 版本升级, 我们针对每一个 laravel 版本
的发布做升级, 这样做是为了您的项目在运行很长时间「一般只一个 LTS 的服务
支持周期」之后,不会因为主体框架升级而导致不必要的问题
需求: 为了打消大家对扩展包安装的疑虑, 我们先写一版图文版的教程来告诉大
家如何安装非主干自带的安装包的安装方法, 我们以 PC 扩展包为例
所以的例子均默认以 ThinkSNS Plus 根目录为目录起始, ThinkSNS Plus 简写为
TS+ 一. 从 github 仓库克隆仓库到本地「自己的电脑, 或者服务器」/packages 目录
中「注: 存放在哪个目录其实不重要, 放在这里主要是为了把扩展包统一放
置」,所以 pc 包所在的路径为: /packages/plus-component-pc, 这里的 pc 包
名是官方的默认包名, 实际的包名,请以从 github 克隆的包名为准;
a)
, 当前操作系统为 OS X, 如图, /plus/packages/plus-component-pc 即为
pc 包的所在路径
二. 将 pc 扩展包加入到依赖中
a) 编辑 TS+下的 composer.json, 找到 json 对象中的「repositories」属性, 类
型为数组:
b) 在 此 数 组 的 任 意 位 置 加 入 pc 包 的 元 素 如 图 :
, i. 元素属性说明:
1. type: 告诉 composer 以路径的方式安装这个扩展包;
2. url: 告诉 composer 这个包相对于当前被编辑的 composer.jons
文件的相对路径, 也就是我们在第一步中将 pc 包放置的位置, 再次说明, 包的位置可以是任意位置, 3. options.symlink, 是否将 packages 里的包, 软链接到 vendor 目
录中, 「建议软链接, 这样在更新 packages 中相应的包之后, 如
果 有 新 的 类 加 入 , 只 需 要 在 根 目 录 执 行 composer
dump-autoload 就可以」
4. options.plus-soft:
c) 将添加的包加入到 composer 依赖中: 上一步只是告诉 composer 有 pc
包这个一个东西存在, 但是并没有告诉 composer 我们要使用这个东西, 这一步,我们就来让 composer 知道, 我们要使用 composer 这个包啦;
i. Composer 依赖包里的 composer.json 文件首先需要一个属性:
version 来表明自己的版本, 如果没有这个属性, composer 就会告诉
我们, 没有找到相应的版本, 所以我们先要在 pc 包的 composer.json
文件中,添加一个版本号: 「如果已经有这个属性了, 就不需要修改了」
ii.
, 如图所示: 我们现在定义的版本好 是 5.0.1, 所以,需要在 TS+的
composer 中 用 下 图 所 示 的 方 式 来 引 入 这 个 包 :
这个是 TS+完整的依赖包列表, 箭头所示部分,即为引入 pc 包的标记
「被引入依赖的版本号的写法, 请查看 compser 文档, 这里不做介
绍了」
iii. 然后我们回到 TS+根目录, 执行 composer install, 到最后,我们看看
laravel已经发现了这个包了, 说明已经依赖成功, 但是到这里并没有
结束, 因为 pc 包会有一些自己的数据表加入到数据库中, 所以我们
还需要继续下一步
iv. 执 行 : php artisan pakcage:handle pc 发 现 如 下 图 :
,install: 安装, remove: 移除「删掉数据库, 并删除配置文件」, link: 将
静态文件软链接到 TS+的 public 目录; 继续:
v. Php artisan package:handle pc install :
,输入 yes 回车, 命令行输出: Seeding: PcTableSeeder, 说明数据库
迁移成功
vi. Php artisan package:handle pc link 可以把 pc 包的静态文件软链接
到 public 目录, 这样每次 pc 包有更新才做, 就不用再次执行这个步
骤了
三. 我们会将我们自己的扩展包都统一规范, 非必要的扩展包都会以这种方式来
安装, 如果有疑问, 请到 https://github.com/slimkit/thinksns-plus 提 issue,
教程到此结束