聊天机器人模型 - ChatGPT

Backend

申请账号 网上有教程,其中一个问题是不支持国内手机号,这就需要借助短信接码平台 还有一个问题,正常情况:注册成功openai会赠送18美金,可以用于api调用。但如果你用的这个手机号被其他人用过了,这18美金就没有了。我第一次就遇到这个问题,只能换个E-mail重新注册 PHP类库 openai-php/client 要求 PHP 8.1+ composer require openai-php/client 简单使用 $client = OpenAI::client('YOUR_API_KEY'); $result = $client->completions()->create([ ...

PHPUnit 的使用

Backend

安装 PHP Archive (PHAR) wget -O phpunit https://phar.phpunit.de/phpunit-9.phar chmod +x phpunit root@php-fpm:/var/www/html# ./phpunit --version PHPUnit 9.5.27 by Sebastian Bergmann and contributors. 或者,Composer composer require --dev phpunit/phpunit ^9 root@php-fpm:/var/www/laravel-demo# ./vendor/bin...

PHP PHPStan 的使用

Backend

安装 composer require --dev phpstan/phpstan 修改composer.json "scripts": { ... "stan": [ " php -d memory_limit=-1 vendor/bin/phpstan analyse app routes database config tests" ] }, 在项目根目录添加phpstan.neon配置文件 root@php-fpm:/var/www/laravel-demo# vi phpstan.neon ...

Laravel 数据库交互 - 查询构造器

Backend

获取结果 从表中检索所有行 $articles = DB::table('article')->get(); foreach ($articles as $article) { echo $article->title.PHP_EOL; } 从表中检索单行或单列 #通过id字段获取一行 $article = DB::table('article')->find(3); #获取一行 $article = DB::table('article')->where(...

Laravel 数据库交互 - 原生 SQL

Backend

return DB::connection('mysql')->select('SELECT * FROM `article` WHERE `category_id` = ?', [1]); return DB::select('SELECT * FROM `article` WHERE `category_id` = ?', [1]); #使用命名绑定 #除了使用 ? 表示参数绑定外,你还可以使用命名绑定的形式来执行一个查询: return DB::select('select * from `article` ...

Laravel 迁移文件migrations 和 数据填充seeders

Backend

迁移文件 migration #创建一个迁移 php artisan make:migration create_store_categories_table #运行所有未完成的迁移 php artisan migrate #如果要查看到目前为止已运行哪些迁移 php artisan migrate:status #如果您希望查看迁移将执行的 SQL 语句而不实际运行它们 php artisan migrate --pretend #某些迁移操作具有破坏性,这意味着它们可能会导致数据丢失。为了防止您对生产数据库运行这些命令,在执行命令之前,系统将提示您进行确认。若要强制命令在没有提示的...

Laravel 中的 redis

Backend

Redis 在 Laravel 中有两个角色,缓存和数据库 数据库 配置文件 config/database.php 作为数据库使用,有两个REDIS_CLIENT可选,默认是phpredis(php的redis扩展),可选predis(纯php的三方库),两者区别,详见:https://www.cnblogs.com/afeige/p/14385588.html Redis 门面的使用(Illuminate\Support\Facades\Redis) 下面以phpredis扩展为例 Redis::set('a', 1); //没提示,和connection('default') 一样 Re...

Laravel 记录SQL日志

Backend

Laravel 默认只在sql语法错误时提示完整的sql日志,但实际情况接口慢,筛选条件和预期不符等,都需要看到sql语句,通过sql语句判断问题所在 下面介绍实现方式 第一步 修改 AppServiceProvider.php vi app/Providers/AppServiceProvider.php <?php namespace App\Providers; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use Illuminate\Support\ServiceProvider; ...

Laravel 以服务提供者的方式使用第三方扩展包

Backend

下面以使用腾讯地图webservices的php封装为例 先安装 composer require chudaozhe/tencent-map-api -vvv 先看下以普通方式使用 $key = '';//腾讯地图key $secret_key = '';//SecretKey (SK):在腾讯位置服务控制台 > Key配置中,勾选WebServiceAPI的 SN校验时自动生成的随机字串,用于计算签名(sig) $app = new \DeathSatan\TencentMapApi\Application($key, $secret_key); //地址转经纬度 $data=$app...

Laravel 调试工具 - Telescope

Backend

Laravel Telescope 是Laravel框架的一个优雅的调试助手。Telescope 提供对进入应用程序的请求、异常、日志条目、数据库查询、排队作业、邮件、通知、缓存操作、计划任务、变量转储等的洞察。Telescope 是您本地Laravel开发环境的绝佳伴侣。 安装 #仅本地安装,不推荐用在生产环境 composer require laravel/telescope --dev php artisan telescope:install php artisan migrate 访问仪表盘 http://laravel.cw.net/telescope 参考 https://...