Symfony2 嘗鮮 @ Ubuntu

edited 十月 2013 in 程式架構
找了很多文章,發現跟著文章走的方式都有問題,因為開發方向還沒正式敲定,許多情況一直在改變的樣子...包括官方文件...

最後才發現這個:
https://github.com/symfony/symfony-standard

只要下面這些指令即可:
git clone https://github.com/symfony/symfony-standard.git symfony
cd symfony
./bin/vendors.sh
./bin/build_bootstrap.php
./app/console assets:install web/

因為是在使用者目錄測試,需要在 web/.htaccess 中加入 RewriteBase 設定,像這樣:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /~kiang/symfony/web/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

然後就可以在 http://localhost/~kiang/symfony/web/app_dev.php/ 看到開發環境畫面

不確定這些步驟未來是否會改變,不過看起來還是相當華麗啊...

新版本主要吸引我的地方,是內建了 ACL ,以及 Doctrine 的 migration ,就看後面有沒有辦法真的實作新的應用了 :)

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=5789

評論

  • edited 六月 2011
    在 Beta 4 已經將需要的程式都打包在一起了:
    http://symfony.com/download

    # 下載 Symfony_Standard_Vendors_2.0.0BETA4.tgz 解壓縮後會看到這樣的目錄結構:
    app
    bin
    LICENSE
    README.rst
    src
    vendor
    VERSION
    web

    # 將它移動到網頁目錄
    tar -xzf Symfony_Standard_Vendors_2.0.0BETA4.tgz
    mv Symfony /home/kiang/public_html/symfony_test
    cd /home/kiang/public_html/symfony_test/
    

    # 建立一個資料表來測試
    CREATE DATABASE  `kiang_symfony_test` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
    
    CREATE TABLE  `kiang_symfony_test`.`posts` (
    `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `title` VARCHAR( 255 ) NOT NULL ,
    `content` TEXT NOT NULL ,
    `created` DATETIME NOT NULL ,
    `modified` DATETIME NOT NULL
    ) ENGINE = INNODB;
    

    # 修改資料庫設定 app/config/parameters.ini
    database_driver   = pdo_mysql
        database_host     = localhost
        database_name     = kiang_symfony_test
        database_user     = root
        database_password = xxx
    

    # 產生預設 Bundle
    ./app/console init:bundle "Olc\ActionsBundle" src
    

    # 在 app/autoload.php 註冊 NameSpace ,就是將下面程式碼加入 $loader->registerNamespaces() 中
    'Olc'              => __DIR__.'/../src',
    

    # 在 app/AppKernel.php 載入剛剛產生的 Bundle ,就是將下面程式碼加入 $bundles 中
    new Olc\ActionsBundle\OlcActionsBundle(),
    

    # 從現有資料表產生對應結構資料
    ./app/console doctrine:mapping:import Olc\ActionsBundle

    # 自動從對應結構資料產生 Entity
    ./app/console doctrine:generate:entities Olc --path src/

    然後,待續...接著應該要研究怎麼產生基本的 CRUD 介面 ;)
Sign In or Register to comment.