esperlos / laravel_esperlos_boilerplate
为 Laravel 设计的样板代码,旨在将 Laravel 作为后端,Vue 作为前端,并包含一些改进。
Requires
- php: ^7.1.3
- fideloper/proxy: ^4.0
- laravel/framework: 5.8.*
- laravel/tinker: ^1.0
Requires (Dev)
- beyondcode/laravel-dump-server: ^1.0
- filp/whoops: ^2.0
- fzaninotto/faker: ^1.4
- krlove/eloquent-model-generator: ^1.3
- mockery/mockery: ^1.0
- nunomaduro/collision: ^3.0
- phpunit/phpunit: ^7.5
- dev-master
- 0.2.2
- 0.2.1
- 0.2
- 0.1
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/express-4.18.2
- dev-dependabot/npm_and_yarn/qs-and-express-6.11.0
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/loader-utils-1.4.2
- dev-dependabot/npm_and_yarn/eventsource-1.1.1
- dev-dependabot/npm_and_yarn/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/ajv-6.12.6
- dev-dependabot/npm_and_yarn/axios-0.21.1
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/dns-packet-1.3.4
- dev-dependabot/npm_and_yarn/browserslist-4.16.6
- dev-dependabot/npm_and_yarn/lodash-4.17.21
- dev-dependabot/npm_and_yarn/ssri-6.0.2
- dev-dependabot/npm_and_yarn/y18n-4.0.1
- dev-dependabot/npm_and_yarn/elliptic-6.5.4
- dev-dependabot/npm_and_yarn/acorn-6.4.1
- dev-dependabot/composer/symfony/http-foundation-4.4.1
- dev-dependabot/composer/symfony/mime-4.4.1
This package is not auto-updated.
Last update: 2024-09-29 20:50:29 UTC
README
Laravel Esperlos 样板代码
+ CedarMapHelper 用于处理 cedar 地图 API
+ FirebaseHelper 用于处理 Firebase API
+ JalaliDateHelper, NumbersHelper 用于处理波斯日期和数字
+ SmsPanelHelper 用于处理短信面板 API
+ UploadHelper 用于处理文件和图像上传
+ ResponseHelper, InputHelper 用于更方便地使用更好的模式处理 API
+ ControllerGenerator 用于生成遵循我们模式的控制器
+ 默认设置 vue, vuex, vue router, vuetify 以及其他 Vue 必备包
+ 对 Helper 进行了一些其他定制,以方便使用
+ 新的 Model/Controller/Vue 文件示例
设置
composer create-project --prefer-dist esperlos/laravel_esperlos_boilerplate ProjectName
cd ProjectName
npm install
然后您可以设置数据库配置、设置迁移等...
生成控制器
此命令将在 app/http/controller/api/ 文件夹中生成一个控制器
php ControllerGenerator.php --name=ControllerName
运行
php artisan serve
npm run watch
示例路由
Vue 的默认示例路由
API 的默认示例路由
https://:8000/api/v1/example/create-example-user
主体
{ "field_one":"Hello", "field_two":"Word" }
https://:8000/api/v1/example/edit-example-profile
主体
{ "api_token":"FLH7CMhUiDN54OkjFBxN1CeWnXIgjsJY36Gz3lCy7IEia81MO5lG9UW7efGK", "field_one":"Hello", "field_two":"Sajjad" }
https://:8000/api/v1/example/get-example
主体
{ "api_token":"FLH7CMhUiDN54OkjFBxN1CeWnXIgjsJY36Gz3lCy7IEia81MO5lG9UW7efGK", "field_one":"Hello", "field_two":"Sajjad" }
https://:8000/api/v1/example/get-examples-list
主体
{ "api_token":"FLH7CMhUiDN54OkjFBxN1CeWnXIgjsJY36Gz3lCy7IEia81MO5lG9UW7efGK", "offset":"0" }
InputHelper
此 Helper 用于检查用户的有效输入
-第一个参数是您从控制器函数接收的请求。
-第二个参数是要检查的请求参数数组。
-最后一个参数是带有 Response 参数的回调函数,当检查通过时将调用此函数。
导入
use App\Http\Helpers\InputHelper;
使用
InputHelper::inputChecker( $request, [ $request->field_one, $request->field_two, // All fields that you need to check ], function (Request $request) { // Input is correct do something } );
如果您不需要检查任何字段
InputHelper::inputChecker( $request, null, function (Request $request) { // Do something } );
ResponseHelper
此 Helper 帮助您为所有 API 提供集成的 JSON 响应
-第一个参数是错误消息,如果您没有错误,可以将其设置为 null 值。
-第二个参数是 HTTP 响应代码。
-最后一个参数是要发送给用户的 数据。它可以是数组、对象,甚至是字符串。
导入
use App\Http\Helpers\ResponseHelper;
使用
ResponseHelper::jsonResponse(null, Response::HTTP_OK, config('messages.success'))->send();
示例输出
{ "errors": null, "status": 200, "data": [ { "id": 2, "api_token": "FeDsHsoDjJZXd2gxl7c80WxYjobMB0ptzP3FZn5cU2wq4KIR21Y4qtssGoPx", "field_one": "Hello", "field_two": "Word", "created_at": "2019-05-31 12:25:11", "updated_at": "2019-05-31 12:25:11" }, { "id": 1, "api_token": "FLH7CMhUiDN54OkjFBxN1CeWnXIgjsJY36Gz3lCy7IEia81MO5lG9UW7efGK", "field_one": "Hello", "field_two": "Sajjad", "created_at": "2019-05-31 12:24:43", "updated_at": "2019-05-31 12:43:58" } ] }
CedarMapHelper
导入
use App\Http\Helpers\CedarMapHelper;
使用
$directionsData = CedarMapHelper::getDirectionsData( (object) ['latitude' => $request->get('start_lat'), 'longitude' => $request->get('start_lng')], (object) ['latitude' => $request->get('end_lat'), 'longitude' => $request->get('end_lng')] );
FirebaseHelper
导入
use App\Http\Helpers\FirebaseHelper;
使用
FirebaseHelper::sendFcmNotificationMessage($pushTokenArray, $data, 'Text');
SmsPanelHelper
导入
use App\Http\Helpers\SmsPanelHelper;
使用
SmsPanelHelper::sendSms($phoneNumber), $tempCode);