Anda di halaman 1dari 9

ESEC - Escola Superior de Educação de Coimbra

Pratical Symfony
Relatório Técnico

CDM III - 2010


UC: Gestão de Sistemas Informáticos
Docente: João Orvalho
Discente: Solange Gomes 2008248
Instalação do Xampp
1. No site http://www.apachefriends.org/download.php?xampp-win32-1.7.3.exe o utilizador
deve descarregar o ficheiro de instalação do servidor XAMPP

2. Em seguinda deve encontrar na sua pasta de transferências um ficheiro.exe no qual deve


fazer duplo clique para iniciar a instalação

3. O utilizador deve continuar a instalação, localizando o xampp na pasta recomendada pelo


instalador ( C:\) e prosseguir clicando no botão install. Deve aparecer, ao utilizador, uma janela
como a seguinte:

4. Em seguida, na linha de comandos são criados os atalhos e é, nessa altura, que também se
pode tornar a pasta compatível para dispositivos portáteis. O utilizador deve escrever y , nas
duas perguntas e pressionar enter no fim de cada uma.
Instalação do Xampp
5. Na pergunta seguinte o utilizador deve escrever n.

6. Na última opção da linha de comandos, o utilizador deve escolher abrir o painel de controlo
do XAMPP, ou seja, deve responder 1.

7. O utilizador já no painel de controlo deve fazer start sobre o Apache e o MySql.


Instalação dA FRAMEWORK SYMFONY
1. Criar a pasta development dentro da pasta C:\
Criar a pasta sfprojects dentro da pasta development.
Criar a pasta jobeet dentro da pasta sfprojects.
Criar a pasta lib dentro da pasta jobeet.
Criar a pasta vendor dentro da pasta lib.
Ou seja, no fim teremos a sequência de pastas C:\development\sfprojects\jobeet\lib\vendor.

2. No site www.symfony-project.org/ fazer o download da framework Symfony.


Depois descompactar a pasta symfony-1.4.8 dentro da pasta “vendor” criada no ponto anterior.
Em seguida, mudar o nome da pasta “symfony-1.4.8” para “symfony”.

3. Após isso, abrir a linha de comandos e digitar as seguintes linhas de comando:

4. Até este ponto, o projecto já está criado e falta só configurar o servidor.

5. Na pasta da Apache, abrir o bloco de notas httpd. (c:\xampp\apache\conf\http.conf

6. Neste ficheiro, no final, vamos adicionar o código:


# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080

# This is the configuration for your project


Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
DocumentRoot “c:\development\sfprojects\jobeet\web”
DirectoryIndex index.php
<Directory “c:\development\sfprojects\jobeet\web”>
AllowOverride All
Allow from All
</Directory>

Alias /sf c:/development/sfprojects/jobeet/lib/vendor/symfony/data/web/sf


<Directory “c:/development/sfprojects/jobeet/lib/vendor/symfony/data/web/sf”>
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
Instalação dA FRAMEWORK SYMFONY
7. No painel de controlo do XAMPP (c:\xampp\xampp-control.exe), parar e arrancar o serviço de
apache, ou seja, clicar sobre stop no apache e, novamente, em clicar em start.

8. Ao abrir o endereço http://localhost:8080/ se tudo tiver sido configurado correctamente,


deve aparecer a seguinte página:
Criação do projecto jobeet
1. Abrir o endereço: http://localhost/phpmyadmin/ e na caixa abaixo de criar uma nova base de
dados o utilizador escreve jobeet. Fica assim criada um base de dados para o projecto.

2. No separador Privilégios ainda nesta página, acrescentar um novo utilizador. Preencher os


espaços da seguinte forma:

3. Em c:\development\sfprojects\jobeet\config\databases.yml inserir o código:

all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: ‘mysql:host=localhost;dbname=jobeet’
username: root
password: null

4. Abrir a linha de comandos e configurar a base de dados escrevendo o seguinte:



cd c:\development\sfprojects\jobeet (enter)
c:\xampp\php\php c:\development\sfprojects\jobeet\lib\vendor\symfony\data\bin\symfony
configure:database “mysql:host=localhost;dbname=jobeet” root null

7. Na pasta config/doctrine/schema.yml o utilizador deve inserir o seguinte código:


# config/doctrine/schema.yml
JobeetCategory:
actAs: { Timestampable: ~ }
columns:
name: { type: string(255), notnull: true, unique: true }

JobeetJob:
actAs: { Timestampable: ~ }
columns:
category_id: { type: integer, notnull: true }
type: { type: string(255) }
Criação do projecto jobeet
company: { type: string(255), notnull: true }
logo: { type: string(255) }
url: { type: string(255) }
position: { type: string(255), notnull: true }
location: { type: string(255), notnull: true }
description: { type: string(4000), notnull: true }
how_to_apply: { type: string(4000), notnull: true }
token: { type: string(255), notnull: true, unique: true }
is_public: { type: boolean, notnull: true, default: 1 }
is_activated: { type: boolean, notnull: true, default: 0 }
email: { type: string(255), notnull: true }
expires_at: { type: timestamp, notnull: true }
relations:
JobeetCategory: { onDelete: CASCADE, local: category_id, foreign: id,
foreignAlias: JobeetJobs }

JobeetAffiliate:
actAs: { Timestampable: ~ }
columns:
url: { type: string(255), notnull: true }
email: { type: string(255), notnull: true, unique: true }
token: { type: string(255), notnull: true }
is_active: { type: boolean, notnull: true, default: 0 }
relations:
JobeetCategories:
class: JobeetCategory
refClass: JobeetCategoryAffiliate
local: affiliate_id
foreign: category_id
foreignAlias: JobeetAffiliates
JobeetCategoryAffiliate:
columns:
category_id: { type: integer, primary: true }
affiliate_id: { type: integer, primary: true }
relations:
JobeetCategory: { onDelete: CASCADE, local: category_id, foreign: id }
JobeetAffiliate: { onDelete: CASCADE, local: affiliate_id, foreign: id
}

5. Abrir a linha de comandos e correr os seguintes códigos:

cd c:\development\sfprojects\jobeet (enter)
c:\xampp\php\php c:\development\sfprojects\jobeet\lib\vendor\symfony\data\bin\symfony
doctrine:build --model
(gera o modelo da base de dados a partir do “schema.yml”, são criados ficheiros que estão na
pasta lib/model/doctrine/base)

Criação do projecto jobeet
cd c:\development\sfprojects\jobeet (enter)
c:\xampp\php\php c:\development\sfprojects\jobeet\lib\vendor\symfony\data\bin\symfony
doctrine:build --sql
(inicia o sql da base de dadods, são criados ficheiros que estão na pasta jobeet/data/sql)

cd c:\development\sfprojects\jobeet (enter)
c:\xampp\php\php c:\development\sfprojects\jobeet\lib\vendor\symfony\data\bin\symfony
doctrine:insert--sql
(cria as tabelas da base de dadods)

6. Na pasta c:\development\sfprojects\jobeet\data\fixtures encontra-se o ficheiro fixtures.yml


que deve ser alterado colocando o seguinte código nele mesmo:

# data/fixtures/categories.yml
JobeetCategory:
design:
name: Design
programming:
name: Programming
manager:
name: Manager
administrator:
name: Administrator

# data/fixtures/jobs.yml
JobeetJob:
job_sensio_labs:
JobeetCategory: programming
type: full-time
company: Sensio Labs
logo: sensio-labs.gif
url: http://www.sensiolabs.com/
position: Web Developer
location: Paris, France
description: |
You’ve already developed websites with symfony and you want to work
with Open-Source technologies. You have a minimum of 3 years
experience in web development with PHP or Java and you wish to
participate to development of Web 2.0 sites using the best
frameworks available.
how_to_apply: |
Send your resume to fabien.potencier [at] sensio.com
is_public: true
is_activated: true
token: job_sensio_labs
email: job@example.com
expires_at: ‘2010-10-10’

job_extreme_sensio:
Criação do projecto jobeet
JobeetCategory: design
type: part-time
company: Extreme Sensio
logo: extreme-sensio.gif
url: http://www.extreme-sensio.com/
position: Web Designer location: Paris, France
description: |
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
in reprehenderit in.

Voluptate velit esse cillum dolore eu fugiat nulla pariatur.


Excepteur sint occaecat cupidatat non proident, sunt in culpa
qui officia deserunt mollit anim id est laborum.
how_to_apply: |
Send your resume to fabien.potencier [at] sensio.com
is_public: true
is_activated: true
token: job_extreme_sensio
email: job@example.com
expires_at: ‘2010-10-10’

7. Abrir a linha de comandos e correr o seguinte código para carregar os dados colocados no
ficheiro criado no ponto anterior:
cd c:\development\sfprojects\jobeet (enter)
c:\xampp\php\php c:\development\sfprojects\jobeet\lib\vendor\symfony\data\bin\symfony
doctrine:data-load

Em seguida, corremos outro código para gerarmos formúlarios, modelos e descarregarmos a


base de dados recreando tabelas:
cd c:\development\sfprojects\jobeet (enter)
c:\xampp\php\php c:\development\sfprojects\jobeet\lib\vendor\symfony\data\bin\symfony
doctrine:build --all --and-load

Por fim, corremos outro comando para gerar o projecto Jobeet:


cd c:\development\sfprojects\jobeet (enter)
c:\xampp\php\php c:\development\sfprojects\jobeet\lib\vendor\symfony\data\bin\symfony
doctrine:generate-module --with-show --non-verbose-templates frontend job JobeetJobw

Anda mungkin juga menyukai