FuelPHP에서 Scaffolding을 실행할 때까지의 Step
이 문서 정보
FuelPHP를 설치하고 Scaffolding을 실행할 때까지 걸립니다.
Step1_환경・설치
운영 환경
MacOSX
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29)
FuelPHP 1.7.2
php로 설정
php.ini에 다음은 필수입니다.
sudo cp /private/etc/php.ini.default /private/etc/php.ini
date.timezone = Asia/Tokyo
디렉토리 구성
~/fuelphp-1.7.2
% tree -L 2 [5:41:29]
.
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── TESTING.md
├── composer.json
├── composer.lock
├── composer.phar
├── docs
│ ├── assets
│ ├── classes
│ ├── contribute.html
│ ├── credits.html
│ ├── favicon.ico
│ ├── favicon.png
│ ├── general
│ ├── index.html
│ ├── installation
│ ├── license.html
│ ├── packages
│ ├── requirements.html
│ ├── templates
│ ├── toc.html
│ └── vendor
├── fuel
│ ├── app
│ ├── core
│ ├── packages
│ └── vendor
├── oil
└── public
├── assets
├── favicon.ico
├── index.php
└── web.config
FuelPHP 설치
fuel 본체
zip 다운로드 및 압축 해제
composer
★ 부분을 추기하고 나서, php composer.phar install
"require": {
"php": ">=5.3.3",
"composer/installers": "~1.0",
"monolog/monolog": "1.5.*",★
"fuelphp/upload": "2.0.*",★
"michelf/php-markdown": "1.4.*"★
},
fuel/vendor 패키지가 관리되지 않기 때문에.
위를 추가하지 않으면 다음과 같은 오류가 발생합니다.
Fatal error: Class 'Monolog\Logger' not found in /path/to/fuel/core/classes/log.php
디렉토리의 permission 변경
php oil refine install
Apache 설정
.htaccess는 사용하지 않으며 httpd.conf에 .htaccess의 내용을 전기
DocumentRoot "/Users/hoge/fuelphp-1.7.2/public"
<Directory "/Users/hoge/fuelphp-1.7.2/public">
RewriteEngine on
RewriteCond %{HTTP:X-Requested-With} !^XMLHttpRequest$
RewriteCond %{THE_REQUEST} ^[^/]*/index\.php [NC]
RewriteRule ^index\.php(.*)$ $1 [R=301,NS,L]
# Send request via index.php if not a real file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
MySQL 설정
운영 환경
MacOSX
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29)
FuelPHP 1.7.2
php로 설정
php.ini에 다음은 필수입니다.
sudo cp /private/etc/php.ini.default /private/etc/php.ini
date.timezone = Asia/Tokyo
디렉토리 구성
~/fuelphp-1.7.2
% tree -L 2 [5:41:29]
.
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── TESTING.md
├── composer.json
├── composer.lock
├── composer.phar
├── docs
│ ├── assets
│ ├── classes
│ ├── contribute.html
│ ├── credits.html
│ ├── favicon.ico
│ ├── favicon.png
│ ├── general
│ ├── index.html
│ ├── installation
│ ├── license.html
│ ├── packages
│ ├── requirements.html
│ ├── templates
│ ├── toc.html
│ └── vendor
├── fuel
│ ├── app
│ ├── core
│ ├── packages
│ └── vendor
├── oil
└── public
├── assets
├── favicon.ico
├── index.php
└── web.config
FuelPHP 설치
fuel 본체
zip 다운로드 및 압축 해제
composer
★ 부분을 추기하고 나서, php composer.phar install
"require": {
"php": ">=5.3.3",
"composer/installers": "~1.0",
"monolog/monolog": "1.5.*",★
"fuelphp/upload": "2.0.*",★
"michelf/php-markdown": "1.4.*"★
},
fuel/vendor 패키지가 관리되지 않기 때문에.
위를 추가하지 않으면 다음과 같은 오류가 발생합니다.
Fatal error: Class 'Monolog\Logger' not found in /path/to/fuel/core/classes/log.php
디렉토리의 permission 변경
php oil refine install
Apache 설정
.htaccess는 사용하지 않으며 httpd.conf에 .htaccess의 내용을 전기
DocumentRoot "/Users/hoge/fuelphp-1.7.2/public"
<Directory "/Users/hoge/fuelphp-1.7.2/public">
RewriteEngine on
RewriteCond %{HTTP:X-Requested-With} !^XMLHttpRequest$
RewriteCond %{THE_REQUEST} ^[^/]*/index\.php [NC]
RewriteRule ^index\.php(.*)$ $1 [R=301,NS,L]
# Send request via index.php if not a real file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
MySQL 설정
Mac에 설치한 경우, 다음의 디렉토리로 되어 있으므로, 별칭의 설정 등은 적절히 실시해 두면 편리
%/usr/local/mysql-5.6.21-osx10.8-x86_64/bin/mysql
root 비밀번호 설정 및 데이터베이스 생성
SET PASSWORD FOR root@localhost=PASSWORD('rootpass');
create database fuel_dev
Step2_Scaffolding
oil generate에서 필요한 컨트롤러, 모델을 작성한다.
% php oil g scaffold post title:string summary:string body:text [6:22:05]
Creating migration: /Users/hoge/fuelphp-1.7.2/fuel/app/migrations/001_create_posts.php
Creating model: /Users/hoge/fuelphp-1.7.2/fuel/app/classes/model/post.php
Creating controller: /Users/hoge/fuelphp-1.7.2/fuel/app/classes/controller/post.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/index.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/view.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/create.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/edit.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/_form.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/template.php
Step3_FuelPHP측 설정
db.php
FuelPHP는 환경별로 구성 파일을 준비합니다.
ht tp // // php lphp. jp/do cs/1.6/게네라 l/엔ゔぃロン멘 ts. HTML
그러므로 어떤 환경의 설정 파일을 수정해야 할지 잘못하지 마십시오.
\Fuel::DEVELOPMENT
개발 환경.
\Fuel::TEST
테스트 환경.
\Fuel::STAGING
스테이징 환경.
\Fuel::PRODUCTION
프로덕션 환경.
환경 설정은 서버의 환경 변수 또는 "fuel/app/bootstrap.php"에 설명되어 있습니다.
db.php에서는 소켓 파일을 DSN으로 지정한다.
return array(
'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=fuel_dev;unix_socket=/tmp/mysql.sock',
'username' => 'root',
'password' => 'rootpass',
),
),
);
지정하지 않으면 다음 오류가 발생합니다.
Fuel\Core\Database_Exception [ 2002 ]: SQLSTATE[HY000] [2002] No such file or directory
migrate 실행
마이그레이션은 데이터베이스의 테이블 구조를 관리하는 것입니다.
마이그레이션을 수행하면 작성한 모델을 DB에 반영할 수 있습니다.
php oil refine migrate
config.php
ORM 패키지 사용 가능
'always_load' => array(
/**
* These packages are loaded on Fuel's startup.
* You can specify them in the following manner:
*
* array('auth'); // This will assume the packages are in PKGPATH
*
* // Use this format to specify the path to the package explicitly
* array(
* array('auth' => PKGPATH.'auth/')
* );
*/
'packages' => array(
'orm',
),
crypt.php
crypt.php를 APPPATH/config/에 작성
The FuelPHP crypto functions require a set of unique and truelly random crypto keys.
These keys are automatically generated and written to the crypto configuration file the first time the application accesses a crypto function.
Please copy the following code into APPPATH/config/crypt.php manually:
<?php
/**
* * Part of the Fuel framework.
* *
* * @package Fuel
* * @version 1.7
* * @author Fuel Development Team
* * @license MIT License
* * @copyright 2010 - 2014 Fuel Development Team
* * @link http://fuelphp.com
* */
return array (
'crypto_key' => 'zVoc60BLg87wC20djQXm4zzE',
'crypto_iv' => 'zAc9uEnqs-NILdAYDchxcfsw',
'crypto_hmac' => 'liUfLMskYyKEbwEJ-sQaIaoU',
);
Step4_확인
덤
동양 경제 온라인에서 "엔지니어 부부가있는 일기"를 연재 중입니다.
엔지니어 커플이 있는 일기
Reference
이 문제에 관하여(FuelPHP에서 Scaffolding을 실행할 때까지의 Step), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bohebohechan/items/35ec18ce26e867e6b9ca
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
% php oil g scaffold post title:string summary:string body:text [6:22:05]
Creating migration: /Users/hoge/fuelphp-1.7.2/fuel/app/migrations/001_create_posts.php
Creating model: /Users/hoge/fuelphp-1.7.2/fuel/app/classes/model/post.php
Creating controller: /Users/hoge/fuelphp-1.7.2/fuel/app/classes/controller/post.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/index.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/view.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/create.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/edit.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/post/_form.php
Creating view: /Users/hoge/fuelphp-1.7.2/fuel/app/views/template.php
db.php
FuelPHP는 환경별로 구성 파일을 준비합니다.
ht tp // // php lphp. jp/do cs/1.6/게네라 l/엔ゔぃロン멘 ts. HTML
그러므로 어떤 환경의 설정 파일을 수정해야 할지 잘못하지 마십시오.
\Fuel::DEVELOPMENT
개발 환경.
\Fuel::TEST
테스트 환경.
\Fuel::STAGING
스테이징 환경.
\Fuel::PRODUCTION
프로덕션 환경.
환경 설정은 서버의 환경 변수 또는 "fuel/app/bootstrap.php"에 설명되어 있습니다.
db.php에서는 소켓 파일을 DSN으로 지정한다.
return array(
'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=fuel_dev;unix_socket=/tmp/mysql.sock',
'username' => 'root',
'password' => 'rootpass',
),
),
);
지정하지 않으면 다음 오류가 발생합니다.
Fuel\Core\Database_Exception [ 2002 ]: SQLSTATE[HY000] [2002] No such file or directory
migrate 실행
마이그레이션은 데이터베이스의 테이블 구조를 관리하는 것입니다.
마이그레이션을 수행하면 작성한 모델을 DB에 반영할 수 있습니다.
php oil refine migrate
config.php
ORM 패키지 사용 가능
'always_load' => array(
/**
* These packages are loaded on Fuel's startup.
* You can specify them in the following manner:
*
* array('auth'); // This will assume the packages are in PKGPATH
*
* // Use this format to specify the path to the package explicitly
* array(
* array('auth' => PKGPATH.'auth/')
* );
*/
'packages' => array(
'orm',
),
crypt.php
crypt.php를 APPPATH/config/에 작성
The FuelPHP crypto functions require a set of unique and truelly random crypto keys.
These keys are automatically generated and written to the crypto configuration file the first time the application accesses a crypto function.
Please copy the following code into APPPATH/config/crypt.php manually:
<?php
/**
* * Part of the Fuel framework.
* *
* * @package Fuel
* * @version 1.7
* * @author Fuel Development Team
* * @license MIT License
* * @copyright 2010 - 2014 Fuel Development Team
* * @link http://fuelphp.com
* */
return array (
'crypto_key' => 'zVoc60BLg87wC20djQXm4zzE',
'crypto_iv' => 'zAc9uEnqs-NILdAYDchxcfsw',
'crypto_hmac' => 'liUfLMskYyKEbwEJ-sQaIaoU',
);
Step4_확인
덤
동양 경제 온라인에서 "엔지니어 부부가있는 일기"를 연재 중입니다.
엔지니어 커플이 있는 일기
Reference
이 문제에 관하여(FuelPHP에서 Scaffolding을 실행할 때까지의 Step), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/bohebohechan/items/35ec18ce26e867e6b9ca
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
동양 경제 온라인에서 "엔지니어 부부가있는 일기"를 연재 중입니다.
엔지니어 커플이 있는 일기
Reference
이 문제에 관하여(FuelPHP에서 Scaffolding을 실행할 때까지의 Step), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bohebohechan/items/35ec18ce26e867e6b9ca텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)