这篇是 2021 年 11 月记的。当时散在好几条笔记里,这里并成了一篇,原文照抄,拼错的库名(
guzzie、amsey UUID)也留着。
装环境,先从扩展开始
- 装不上很大一部分原因是 php 扩展没启动,mbstring、dom 都要启动。
- 指令没响应是没有加 path。
- php-pdo、php-mysql 这些都要手动装,用
phpenmod来启用:
phpenmod gd
phpenmod pdo_mysql
- 全局指令的 path:
export PATH=$PATH:$HOME/.config/.composer/vendor/bin
- 我也不知道是第几次学了。算了算了再学一遍。
""能插值,''不能插。- comment 用
//就好了。别的也支持但是就用这个。
composer
- getcomposer repository 里头找安装文件。才五百多个星,一个包管理器就这点,这是否
composer require、composer update、composer global require
从 JS 找 PHP 的对应库
| 在 JS 里用惯的 | PHP 这边的对应 |
|---|---|
| lodash | radash |
| axios | guzzie |
| dayjs | carbon |
| docx | phpword |
| nodemailer | phpmailer |
| uuid | amsey UUID |
| crypto-js | builtin |
| exceljs | phpspreadsheet |
| fastq | symfony messenger / laravel |
| orm | doctrine orm / eloquent orm |
| zod | symfony validator / respect validateion |
| validate | WebGeeker-Validation |
thinkphp
imagecreate()找不到,要装 php-gd。
laravel
- create 之后要
composer install。 - sanctum:
php artisan session:table
php artisan migrate
- csrf 要放 header 不然 laravel 这头猪不认。
auth.php里guards.api.driver = sanctum。auth.php里defaults.guard = web。- User model extends
Illuminate\Foundation\Auth\User。
现在回头看
- 库名拼错了一堆:
guzzie是guzzle,amsey UUID是ramsey/uuid,respect validateion是Respect\Validation。当时全靠手打,一个都没查。 - 「csrf 要放 header」:Laravel 的
api路由本来就不套 CSRF 中间件,我那时候多半是把 API 路由写进了web组,才一路撞到 419。 phpenmod是 Debian 系才有的一套;换个发行版就得自己去改php.ini。- thinkphp 那条:装完
php-gd还得确认php.ini里的extension=gd没被注释掉,不然一样报找不到函数。