PHP 프레임 워크를 현지 해적 링고로 뿌려주고 싶습니까?
그것은 일곱 바다에서 가장 맨 뼈 프레임 워크입니다!
http://bonemvc.delboysplace.co.uk
뼈는 이제 v3.x에 있습니다! 전체 Deign o 'th'선박은 간소화되었으며 훨씬 더 많은 목재가 가능합니다! 우리는 PSR-15 미들웨어 라우터와 결합 된 PSR-11 의존성 분사 컨테이너를 모듈 식 방식으로 사용합니다! 탑승!
먼저 작곡가가 있는지 확인하십시오! 그런 다음 뼈를 설치하십시오.
composer create-project delboy1978uk/bonemvc your/path/here
또는 전 세계적으로 작곡가를 설치하지 않은 경우 ...
php composer.phar create-project delboy1978uk/bonemvc your/path/here
Docker를 사용하여 완전한 개발자 서버를 얻는 방법에 대한 자세한 내용은 아래를 참조하십시오.
모든 .php 파일을 구성/ 폴더에 삭제할 수 있습니다. 구성으로 배열을 반환해야합니다. 환경 var application_env를 기반으로 구성을 재정의 할 수 있으므로 환경이 생산 된 경우 생산 하위 디렉토리에 추가 구성을로드합니다.
기본적으로 여러 구성 파일이 있습니다.
db.php
i18n.php
logs.php
mail.php
routes.php
templates.php
구성 파일에서 원하는 것을 추가 할 수 있습니다. 뼈 mvc 레지스트리에 저장됩니다.
기본 구성/db.php에서 기본 DB 자격 증명을 설정하고 서브 디렉토리에서 모든 환경 별 구성을 설정하십시오.
' db ' => array (
' host ' => ' 127.0.0.1 ' ,
' database ' => ' bone ' ,
' user ' => ' leChuck ' ,
' pass ' => ' bigWh00p ' ,
),그런 다음 YER 컨트롤러에서는 다음과 같이 말함으로써 PDO 연결을 얻을 수 있습니다.
$ this -> getDbAdapter (); 뼈는 다른 지역으로의 번역을지지합니다. 번역 파일 (getText .po 및 .mo )은 로케일의 하위 디렉토리 (예 : data/translations/en_GB/en_GB.po 의 data/translations 에 배치해야합니다. 기본 로케일과 지원되는 로케일 배열을 설정할 수 있습니다.
<?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 ' );뼈는 독백/독백을 사용하며 로그는 데이터/로그에서 찾을 수 있습니다.
<?php
return [
' log ' => [
' channels ' => [
' default ' => ' data/logs/default_log ' ,
],
],
];컨트롤러에서 로거를 사용하려면 :
$ this -> getLog ()-> debug ( $ message ) // or error(), etc, see PSR-3 뼈는 Zend Mail을 사용합니다. 메일 클라이언트를 구성하려면 구성을 삭제하십시오 (Zend Mail Docs 참조)
<?php
return [
' mail ' => [
' name ' => ' 127.0.0.1 ' ,
' host ' => ' localhost ' ,
' port ' => 25 ,
// 'connection_class' => 'login', // plain, login, crammd5
// 'connection_config' => [
// 'username' => 'user',
// 'password' => 'pass',
// ],
],
];Bone이 제공하는 Docker Box를 사용하는 경우, 당신은 또한 당신의 처분에 멋진 Mailhog도 있습니다. savide.scot:8025로 찾아 보면 모든 이메일받은 편지함을 잡을 수 있으므로 실제 세계에 도달하는 개발 이메일에 대해 걱정할 필요가 없습니다.
src/ 폴더에서 모듈을 만들 수 있습니다. 기본 모듈은 BoneAppAppPackage 입니다. config/packages.php 에 추가하여 모듈을 활성화합니다. 공급 업체 패키지는 작곡가를 통해 설치하고 동일한 방식으로 활성화 할 수 있습니다.
최소한 모듈은 BarnacleRegistrationInterface 구현하며, 경로가 포함 된 MVC 모듈 인 경우 BoneRouterRouterConfigInterface 도 구현해야합니다. 구현해야 할 네 가지 방법이 있습니다.
hasEntityPath(): bool , 모듈이 교리 단체를 사용하는 경우 true ( delboy1978uk/bone-doctrine 패키지 필요)getEntityPath(): string , true를 반환하면 엔티티 클래스가 거주하는 폴더입니다.addToContainer(Container $c)addRoutes(Container $c, Router $router): Router , 아래 설명 수업을위한 공장을 만들고 앱의 다른 곳에서 필요한 모든 사람들을 초기화 할 수 있습니다. 예를 들어, 컨트롤러 클래스는 뷰 엔진을 주입하여 다음을 추가 할 수 있습니다.
$ c [MyController::class] = $ c -> factory ( function ( Container $ c ) {
$ view = $ c -> get (PlatesEngine::class);
return new MyController ( $ view );
}); 의존성 분사 컨테이너는 delboy1978uk/barnacle 이며, 이는 본질적으로 Pimple 확장 및 PSR-11을 구현합니다.
Bone MVC는 PSR-15 미들웨어 라이브러리 인 league/route 사용합니다. 패키지에 경로가 추가됩니다.
/**
* @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! 우리는 Th 'Cap'n (delboy1978uk)에 의해 몇 가지 추가 Libs를 사용합니다.
delboy1978uk/cdn
delboy1978uk/form
delboy1978uk/generator
delboy1978uk/image
delboy1978uk/session
cdn lib에서, 당신은 DelCdn 사용하여 JavaScript 및 CSS를 빠르게 반영 할 수 있습니다. AppViewlayoutsbonemvc.php 예제를 참조하십시오.
CDN Lib의 일부로 제공되는 DelIcon 및 DelCss 참조하십시오.
YE는 사용자 정의 부트 스트랩 준비 형식을 만들 수 있습니다. ' delboy1978uk/form Github 페이지 FER 세부 사항을 참조하십시오.
너희는 새로운 모듈을 신속하게 만들 수있다.
너희는 DelImage 클래스와 함께 'th'gd php 함수를 usin 'gd php 함수를 조작 할 수있다.
YE는 세션 변수를 설정할 수 있습니다. usin ' DelSessionManager github를 참조하십시오.