FuelPHP에서 Scaffolding을 실행할 때까지의 Step

15909 단어 FuelPHPPHP

이 문서 정보



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 설정


  • MySQL:5.6.21

  • 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_확인







    동양 경제 온라인에서 "엔지니어 부부가있는 일기"를 연재 중입니다.

    엔지니어 커플이 있는 일기

    좋은 웹페이지 즐겨찾기