ต้องใช้แคช Redis ไฟล์และแคชฐานข้อมูลไม่รองรับแท็ก ()
ที่อยู่ดาวน์โหลด Windows Redis: http://pan.baidu.com/s/1i56thcD
ใช้แคช Redis และแคช Redis อย่างรวดเร็วใน lv5: https://laravel-china.org/topics/877
กรุณาซื้อเทมเพลตส่วนหน้าด้วยตนเอง หากมีการละเมิด โปรดติดต่อผู้เขียน
ส่วนขยายบทบาทการอนุญาตของผู้ใช้: zizaco/entrust
ส่วนขยาย Redis: predis/predis
เลือกส่วนขยายการเปิดใช้งานในเมนู: hieu-le/active
ส่วนขยายฐานข้อมูล: รูปแบบอาร์เรย์ที่ส่งคืนโดยแบบสอบถาม prettus/l5-repository
คำอธิบายการพึ่งพาสถาปัตยกรรม: http://oomusou.io/laravel/laravel-architecture/
jQuery DataTables API สำหรับ Laravel: yajra/laravel-datatables-oracle
ส่วนขยายการอ่านบันทึก: การกำหนดค่าบันทึกแอป arcanedev/log-viewer
'log' => env('APP_LOG', 'daily'),
ส่วนขยายการประมวลผลภาพ: intervention/image
ส่วนขยาย PHP Redis
ส่วนขยาย PHP cURL
ส่วนขยาย PHP OpenSSL
จำเป็นต้องใช้ข้อมูลไฟล์ PHP เพื่อขยายโมดูลการจัดการวัสดุ
http://datatables.club/
https://datatables.yajrabox.com
การแก้ไขแบบอินไลน์: https://vitalets.github.io/x-editable/docs.html
https://github.com/DukeAnn/Laradmin/blob/master/UpdateLog.md
1. ดึงรหัสไปที่ท้องถิ่น
2. composer install
3. ตั้งค่าไฟล์การกำหนดค่า .evn
เพื่อเชื่อมต่อกับฐานข้อมูลและเซิร์ฟเวอร์ส่งอีเมลเริ่มต้น ตั้งค่า APP_URL=http://laradmin.app
และดำเนินการ php artisan key:generate
เพื่อสร้างคีย์
4. ดำเนินการโยกย้ายและประชากร
5. php artisan migrate --seed
การติดตั้งเสร็จสมบูรณ์
ที่อยู่สาธิต: http://admin.amyair.cn
บัญชีทดสอบ: ลงทะเบียนโดยตรงที่มุมขวาบน
1. ส่วนขยายการจัดการสิทธิ์ไม่ได้ใช้ส่วนขยายฐานข้อมูล l5
2. เมนูด้านซ้ายพื้นหลังจะสอดคล้องกับสถานะที่เลือกโดยอัตโนมัติ ต้องตั้งชื่อเส้นทางทั้งหมดบนเว็บไซต์ และคำนำหน้าการตั้งชื่อเส้นทางภายใต้ตัวเลือกเมนูเดียวกันจะต้องสอดคล้องกัน เช่น: admin.index
, admin.create
, admin.show
, admin.edit
ฯลฯ ประเภททรัพยากร เส้นทางจะถูกตั้งชื่อโดยอัตโนมัติ ชื่อเส้นทางที่ลงท้ายด้วยดัชนีทั้งหมดจะแสดงบนเมนูด้านซ้ายในพื้นหลัง ใช้ route();
เมื่อโปรแกรมทำการข้ามทิศทาง หากการอนุญาตของหมวดหมู่ย่อยภายใต้เมนูระดับบนสุดเป็นสิ่งต้องห้าม โปรดเพิ่มการอนุญาตผู้ใช้ของเมนูระดับบนสุดและตั้งค่าให้ผู้ใช้ไม่มีสิทธิ์ และเมนูจะไม่แสดงขึ้นมา หลักการแสดงเมนูพื้นหลังคือการสอบถามสิทธิ์ของผู้ใช้ผ่านเมนู uri หากไม่ได้ตั้งค่าสิทธิ์ไว้ หากไม่มีการตั้งค่า จะไม่มีข้อกำหนดสิทธิ์ตามค่าเริ่มต้น . uri ที่ตั้งค่าไว้สำหรับรายการเมนูที่มีคลาสย่อยจะไม่ถูกส่งออกในรูปแบบ html แต่จะส่งออกเฉพาะ JavaScript:; ดังนั้นจึงจะไม่รายงานข้อผิดพลาดหากตั้งค่าเป็นชื่อเส้นทางที่ไม่มีอยู่จริง uri ที่ไม่มีเมนูย่อยจะถูกแยกวิเคราะห์โดยใช้ ฟังก์ชั่นเส้นทาง () หากไม่มีชื่อเส้นทางจะมีการรายงานข้อผิดพลาด
3. breadcrumbs ในเพจถูกเขียนลงในแพ็คเกจภาษา ชื่อในแพ็คเกจภาษาสอดคล้องกับค่าของ Route::currentRouteName();
AppPresentersAdminCrumbsService
ชื่อเส้นทาง) AppPresentersAdminCrumbsService
ซึ่งไม่ได้กำหนดไว้ในแพ็คเกจภาษา แสดงค่าคีย์ของชุดภาษาโดยตรง
4. ไม่สามารถใช้การกำหนดเส้นทางการปิดสำหรับการกำหนดเส้นทางได้ มิฉะนั้น Route::currentRouteName();
จะไม่มีผล และการตรวจสอบสิทธิ์และการข้ามเมนูทั้งหมดจะใช้ชื่อเส้นทาง
5. การตรวจสอบสิทธิ์ใช้การอนุญาตเพื่อผูกชื่อเส้นทางและตรวจสอบในมิดเดิลแวร์ของ app/ app/Http/Requests
app/Http/Middleware/CheckPermission.php
จะไม่มีข้อจำกัดในการอนุญาต
6. เมื่อเพิ่มเมนูในพื้นหลัง จะไม่ได้รับอนุญาตให้เพิ่มชื่อเส้นทางที่มีอยู่ ไม่เช่นนั้นเว็บไซต์จะขัดข้อง เนื่องจากเมนูจะแสดงทางด้านซ้ายหลังจากเพิ่มแล้ว แต่หากไม่มีชื่อเส้นทาง จะไม่สามารถแยกวิเคราะห์ได้และจะรายงานข้อผิดพลาด หากคุณทำผิดพลาดโดยไม่ตั้งใจ ให้เรียกใช้งาน php artisan cache:clear
เพื่อล้างแคชและลบข้อมูลที่ไม่ถูกต้องที่ใส่ไว้ในฐานข้อมูล! เพียงรีเฟรชหน้า
###รูปแบบ json เป็นรูปแบบทั่วไปของ API
{
"code" : 0 ,
"url" : http://...
"message" : " ... " ,
"errors" : [
{
"code" : 10000 ,
"field" : " user " ,
"message" : "用户 不存在。 "
}
],
"pagination" : {
"total" : 10 ,
"per_page" : 10 ,
"current_page" : 1 ,
"last_page" : 1 ,
"from" : 1 ,
"to" : 10
},
"data" : {
...
}
}
####json รหัสคำอธิบายค่าตอบแทน การประมวล code
รหัสสถานะผลลัพธ์ สำเร็จคือ 0 จำเป็น
ที่อยู่การกระโดดหลังจากประมวลผล url
สำเร็จแล้ว สามารถเว้นว่างไว้ได้
ข้อมูลการแจ้งเตือนเสร็จสิ้นการประมวลผล message
ไม่จำเป็น
errors
ข้อมูลการแบ่งหน้าร้องขอโดย pagination
ข้อมูลข้อมูลที่ร้องขอโดย data
errors
และ data
ไม่สามารถอยู่พร้อมกันได้
กลับมาใช้
return response(['code' => -1, 'message' => '账号或者密码错误'], 400);
แปลงเป็น json โดยอัตโนมัติ
หรือ
return response()->json(['code' => -1, 'message' => '账号或者密码错误'], 400);
การวิเคราะห์อาแจ็กซ์
var settings = {
type : "POST" ,
data : { } ,
url : url ,
dataType : "json" ,
success : function ( data ) {
if ( data . code == 0 ) {
window . location . href = data . url ;
}
} ,
error : function ( XMLHttpRequest ) {
$ ( '#login-error' ) . show ( ) ;
if ( XMLHttpRequest . responseJSON . code == - 1 ) {
$ ( '#login-error-message' ) . text ( XMLHttpRequest . responseJSON . message ) ;
} else {
$ ( '#login-error-message' ) . text ( "请填写邮箱和密码" ) ;
}
} ,
headers : {
'X-CSRF-TOKEN' : $ ( 'meta[name="csrf-token"]' ) . attr ( 'content' )
}
} ;
$ . ajax ( settings )
php artisan make:entity name
สร้างไฟล์โมเดล ไฟล์การโยกย้ายฐานข้อมูล ไฟล์สองไฟล์ภายใต้พื้นที่เก็บข้อมูล ไฟล์ผู้ให้บริการ สามารถเลือกสร้างไฟล์ Presenter, Validator และ Controller ได้หรือไม่
php artisan make:repository name
สร้างไฟล์โมเดล ไฟล์การย้ายฐานข้อมูล และไฟล์สองไฟล์ภายใต้ Repository