จงเป็นที่ต้องการของเฟรมเวิร์ก PHP ด้วย LINGO ของโจรสลัดในท้องถิ่นหรือไม่?
มันเป็นกรอบกระดูกที่เปลือยเปล่าที่สุดใน Seven Seas!
http://bonemvc.delboysplace.co.uk
ตอนนี้กระดูกอยู่บน v3.x! เรือทั้งหมดของ Deign o 'th' ได้รับการปรับปรุงและมีความสามารถมากขึ้น! เราเป็นภาชนะฉีดพึ่งพา PSR-11 ควบคู่ไปกับเราเตอร์มิดเดิลแวร์ PSR-15 ในลักษณะแบบแยกส่วน! กระโดดขึ้นเครื่อง!
ก่อนอื่นให้แน่ใจว่าคุณมีนักแต่งเพลง! จากนั้นติดตั้งกระดูก
composer create-project delboy1978uk/bonemvc your/path/here
หรือถ้าคุณยังไม่ได้ติดตั้งนักแต่งเพลงทั่วโลก ...
php composer.phar create-project delboy1978uk/bonemvc your/path/here
ดูข้อมูลด้านล่างสำหรับข้อมูลเกี่ยวกับวิธีรับเซิร์ฟเวอร์ dev ที่สมบูรณ์โดยใช้ Docker
คุณสามารถวางไฟล์. php จำนวนใดก็ได้ลงใน config/ folder ตรวจสอบให้แน่ใจว่าพวกเขาส่งคืนอาร์เรย์ด้วยการกำหนดค่า คุณสามารถแทนที่การกำหนดค่าตามสภาพแวดล้อม var application_env ดังนั้นตัวอย่างเช่นหากสภาพแวดล้อมการผลิตจะโหลดการกำหนดค่าเพิ่มเติมไดเรกทอรีย่อยการผลิต
มีไฟล์กำหนดค่าหลายไฟล์ตามค่าเริ่มต้น:
db.php
i18n.php
logs.php
mail.php
routes.php
templates.php
ในไฟล์กำหนดค่าของคุณคุณสามารถเพิ่มสิ่งที่คุณต้องการ มันถูกเก็บไว้ใน Bone MVC Registry
ตั้งค่าข้อมูลรับรอง DB เริ่มต้นของคุณในการกำหนดค่าหลัก/db.php และการกำหนดค่าเฉพาะสภาพแวดล้อมใด ๆ ในไดเรกทอรีย่อย
' db ' => array (
' host ' => ' 127.0.0.1 ' ,
' database ' => ' bone ' ,
' user ' => ' leChuck ' ,
' pass ' => ' bigWh00p ' ,
),จากนั้นในคอนโทรลเลอร์ YER คุณจะได้รับการเชื่อมต่อ PDO โดยพูดว่า:
$ this -> getDbAdapter (); กระดูกรองรับการแปลไปยังสถานที่ต่าง ๆ ควรวางไฟล์การแปล (getText .po และ .mo ) ใน data/translations ใต้ไดเรกทอรีย่อยของสถานที่เช่น data/translations/en_GB/en_GB.po คุณสามารถตั้งค่าสถานที่เริ่มต้นและอาร์เรย์ของสถานที่ที่รองรับ
<?php
use Zend I18n Translator Loader Gettext ;
return [
' i18n ' => [
' translations_dir ' => ' data/translations ' ,
' type ' => Gettext::class,
' default_locale ' => ' en_PI ' ,
' supported_locales ' => [ ' en_PI ' , ' en_GB ' , ' nl_BE ' , ' fr_BE ' ],
],
];ในการใช้นักแปลคุณสามารถโทร: เพื่อใช้นักแปลคุณสามารถโทรได้:
<?php
// from a controller:
$ this -> getTranslator ()-> translate ( ' placeholder.string ' );
// to set locale
$ this -> getTranslator ()-> setLocale ( $ locale );
// from a view file:
$ this -> t ( ' placeholder ' );Bone ใช้ monolog/monolog และบันทึกสามารถพบได้ใน data/log. ปัจจุบันเรารองรับการเขียนลงในไฟล์เท่านั้น แต่คุณสามารถเพิ่มช่องได้มากเท่าที่คุณต้องการ:
<?php
return [
' log ' => [
' channels ' => [
' default ' => ' data/logs/default_log ' ,
],
],
];เพื่อใช้เครื่องบันทึกในคอนโทรลเลอร์:
$ this -> getLog ()-> debug ( $ message ) // or error(), etc, see PSR-3 กระดูกใช้ Zend Mail ในการกำหนดค่าไคลเอนต์เมลเพียงแค่วางในการกำหนดค่าของคุณ (ดูเอกสาร Zend Mail)
<?php
return [
' mail ' => [
' name ' => ' 127.0.0.1 ' ,
' host ' => ' localhost ' ,
' port ' => 25 ,
// 'connection_class' => 'login', // plain, login, crammd5
// 'connection_config' => [
// 'username' => 'user',
// 'password' => 'pass',
// ],
],
];หากคุณใช้กล่อง Docker ที่จัดทำโดย Bone คุณยังมี Mailhog ที่ยอดเยี่ยมตามที่คุณต้องการ เรียกดู Awesome.scot:8025 แล้วคุณจะเห็นกล่องจดหมายทั้งหมดจับอีเมลทั้งหมดดังนั้นคุณไม่จำเป็นต้องกังวลเกี่ยวกับการพัฒนาอีเมลถึงโลกแห่งความเป็นจริง
โมดูลสามารถสร้างได้ใน src/ โฟลเดอร์ของคุณ โมดูลเริ่มต้นคือ BoneAppAppPackage โมดูลถูกเปิดใช้งานโดยการเพิ่มใน config/packages.php แพ็คเกจผู้ขายสามารถติดตั้งผ่านนักแต่งเพลงและเปิดใช้งานในลักษณะเดียวกัน
โมดูลอย่างน้อยที่สุดจะใช้ BarnacleRegistrationInterface และหากเป็นโมดูล MVC ที่มีเส้นทางก็ควรใช้ BoneRouterRouterConfigInterface มีสี่วิธีในการดำเนินการทั้งหมด:
hasEntityPath(): bool ถ้าโมดูลของคุณใช้เอนทิตีหลักคำสอนกลับมาเป็นจริง (ต้องใช้แพ็คเกจ delboy1978uk/bone-doctrine )getEntityPath(): string ถ้าคุณส่งคืนจริงนี่คือโฟลเดอร์คลาสเอนทิตีของคุณจะอยู่addToContainer(Container $c) อธิบายไว้ด้านล่างaddRoutes(Container $c, Router $router): Router , อธิบายด้านล่าง คุณสามารถสร้างโรงงานสำหรับชั้นเรียนของคุณและเริ่มต้น anythiung ต้องการที่อื่นในแอพของคุณ ตัวอย่างเช่นคลาสคอนโทรลเลอร์อาจต้องการให้เอ็นจิ้น View ถูกฉีดเข้าดังนั้นในวิธีการที่คุณจะเพิ่มสิ่งต่อไปนี้:
$ c [MyController::class] = $ c -> factory ( function ( Container $ c ) {
$ view = $ c -> get (PlatesEngine::class);
return new MyController ( $ view );
}); ภาชนะฉีดพึ่งพาอาศัยกันคือ delboy1978uk/barnacle ซึ่งเป็นสิวขยายและใช้ PSR-11
Bone MVC ใช้ league/route ห้องสมุดมิดเดิลแวร์ PSR-15 เส้นทางจะถูกเพิ่มในแพ็คเกจของคุณเช่น So:
/**
* @param Container $c
* @param Router $router
* @return Router
*/
public function addRoutes ( Container $ c , Router $ router ): Router
{
$ router -> map ( ' GET ' , ' / ' , [IndexController::class, ' indexAction ' ]);
$ router -> map ( ' GET ' , ' /learn ' , [IndexController::class, ' learnAction ' ]);
return $ router ;
}ดูเอกสารของพวกเขาสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้เราเตอร์
Avast Ye! เราเป็น libs เพิ่มเติมบางอย่างโดย th 'cap'n (delboy1978uk) คือ::
delboy1978uk/cdn
delboy1978uk/form
delboy1978uk/generator
delboy1978uk/image
delboy1978uk/session
fer cdn lib เจ้าสามารถสะท้อน JavaScript และ CSS ได้อย่างรวดเร็วโดยใช้ DelCdn ดู AppViewlayoutsbonemvc.php fer ตัวอย่าง
ดูเพิ่มเติมที่ใช้ DelIcon และ DelCss ซึ่งมาเป็นส่วนหนึ่งของ CDN lib
คุณสามารถสร้างแบบฟอร์มพร้อม bootstrap แบบกำหนดเอง USIN ' delboy1978uk/form ดูรายละเอียดหน้า GitHub
คุณสามารถสร้างโมดูลใหม่ได้อย่างรวดเร็ว usin 'th th' คำสั่ง CLI
เจ้าสามารถจัดการกับฟังก์ชั่นการใช้งานของ GD PHP ได้ด้วยคลาส DelImage
คุณสามารถตั้งค่าตัวแปรเซสชัน usin ' DelSessionManager ดู GitHub สำหรับข้อมูล