Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]CRUD, Błąd przy budowaniu szkieletu
sebusiek
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


Witam!
Jestem bardzo początkującym użytkownikiem Symfony oraz raczkuje w programowaniu obiektowym
Korzystam w tej chwili z paru stron dla przedszkolaków typu "napisz to a wyjdzie tamto"
Przeglądam w tej chwili Dokumentacje na "trac-symfony...." mój pierwszy project.

Problem mam taki.
Założyłem projekt aplikacje stworzyłem bazę i tabele
i przy poleceniu "php symfony.php propel-generate-crud frontend post Post" pojawia mi się błąd
Fatal error: Cannot redeclare class databasemap in c:\php\propel\runtime\classes\propel\map\DatabaseMap.php on line 47
Proszę o pomoc co z tym zrobić

PS Co ciekawe polecenie działa na sf_sandbox.
Ale przy przeglądaniu strony http://localhost/sf_sandbox/web/frontend_dev.php/post wywala tyle błędów że się w oczach mieni
Czekam na pomoc

Ten post edytował sebusiek 13.09.2008, 20:03:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
Exek
post
Post #2





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


symfony cc i powiedz czy dalej masz błędy. Poza tym możliwe, że schema.yml masz walnięte.

Z której wersji sf korzystasz?
Go to the top of the page
+Quote Post
sebusiek
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


tak dalej mam błędy
Symfony wersja 1.1.1

"schema.yml"

propel:
weblog_post:
_attributes: { phpName: Post }
id:
title: varchar(255)
excerpt: longvarchar
body: longvarchar
created_at:
weblog_comment:
_attributes: { phpName: Comment }
id:
post_id:
author: varchar(255)
email: varchar(255)
body: longvarchar
created_at:

PS z błędami wyświetlanymi z sf_sandbox już sobie poradziełem nie mógł się połączyć z bazą danych [email="user@localhost"]user@localhost[/email] itd; mimo wpisania prawidłowych danych. Problem był w pliku databases.yml
Standartowo sf_sandbox miał słowo kluczowe database i dalej wiadomo. Zmieniłem na dsn: i poszło

W dalszym ciągu nie wiem dlaczego w czystym projekcie Symfony nie działa mi "CRUD" a sandboxie działa może to coś z konfiguracją Symfony questionmark.gifquestionmark.gifquestionmark.gif
Go to the top of the page
+Quote Post
Exek
post
Post #4





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


schema.yml zawiera poprawne spacje? wklejaj następnym razem w tag {code}.

Hmm... na pewno przeprowadziłeś poprawną instalację symfony? Bo coś mi się wydaje, że skopiowałeś sam biblioteki do projektu symfony. Robiłeś jakieś symfony freeze, albo coś?

podaj zawartość /config/config.php
Go to the top of the page
+Quote Post
sebusiek
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


Chyba w schema.yml jest wszystko ok. Bo chodziły komendy symfony-propel-build-model ....build-sql ....insert-sql tylko
propel-generate-crud itd... nie poszła

To jest listing config.php z aplikacji
<?php

// symfony directories
$sf_symfony_lib_dir = 'C:\php\pear/symfony';
$sf_symfony_data_dir = 'C:\php\pear\data/symfony';

a to z sf_sandbox

<?php

// symfony directories
$sf_symfony_lib_dir = dirname(__FILE__).'/../lib/symfony';
$sf_symfony_data_dir = dirname(__FILE__).'/../data/symfony';


Jeśli chodzi o instalację przeprowadziłem od nowa począwszy od serwera Apache, php, Mysql'a
Pear'a zrobiłem jakieś go-pear.bat a później dołączyłem kanały symfony i zrobiłem instalkę pear install symfony/symfony

Ale to było wczoraj bo dzisiaj zacząłem się bawić tym pear'em bo też pomyślałem ze coś z tą instalacją może być nie tak.
Niestety tak pewnie zagmatwałem że teraz mało co chodzi.
Ja wogóle coś mało rozumiem z tej instalacji i co tak właściwie jest potrzebne do tego Symfony.
Jakiś Propel, jakiś Creole, phing. Może jest jakaś jedna instalka dla przedszkolaków typu "setup" ale ja takiej nie znalazłem
Dzięki za odpowiedzi i czekam dalej na pomysły
Go to the top of the page
+Quote Post
Exek
post
Post #6





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


http://www.symfony.pl/dokumentacja/uruchamianie_symfony

popatrzyłem się na Twoją ścieżkę z pierwszego posta:
c:\php\propel\runtime\classes\propel\map\DatabaseMap.php

Coś dziwne, to się pojawia w projekcie symfony?
Czy przypadkiem nie instalowałeś sam Propela, Creole, etc.?
Symfony po instalacji z pear zawiera wszystkie potrzebne biblioteki, nie musisz sam nic kombinowac.

Popatrz się dokładnie co pokazuje symfony propel-build-model, bo pod windowsem nie ma kolorków w konsoli i błędów za bardzo nie widać.

Ten post edytował Exek 14.09.2008, 21:21:00
Go to the top of the page
+Quote Post
sebusiek
post
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


Rzeczywiście taka linijka "...c:\php\propel\runtime\classes\propel\map\DatabaseMap.php..."
była, bezwzględne odwołanie do katalogu a nie takie np:jak w tym pliku config.php z sandboxa.

I cytuję :Czy przypadkiem nie instalowałeś sam Propela, Creole, etc.?
Jakbyś zgadł. Korzystałem ze strony www.gajdaw.pl myśląc że te biblioteki instaluje się osobno.

Jeśli chodzi o błędy przy propel-buil-model to teraz już nic nie "łazi" bo wczoraj bawiłem się z tym całym pear'em i wszystko się schrzaniło, więc teraz wypada mi zainstalować wszystko od początku ale dla pewności:

Instaluję php z normalnej instalki i żadnego propela i creola nie dodaję czy tak?questionmark.gif
a później robię go-pear.bat i doczepiam kanał symfony i instaluję i nic więcej?questionmark.gif

Dzięki czekam na odpowiedź.
Go to the top of the page
+Quote Post
Exek
post
Post #8





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


Dokładnie tak, jakbyś miał jeszcze jakieś problemy to pisz.
Go to the top of the page
+Quote Post
sebusiek
post
Post #9





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


A więc zainstalowałem wszystko jeszcze raz korzystając z WAMP'a później pear'a i symfony z kanału
I teraz mam taki błąd przy poleceniu " symfony propel-generate-crud frontend post Post":


Fatal error: Class 'PostForm' not found in D:\wamp\bin\php\php5.2.6\PEAR\symfony\generator\sfAdminGenerator.class.php on line 722

Co ciekawe ten sam błąd pojawia się na komputerze z UBUNTU (oczywiście ścieżki bezwzględne są inne ale to wiadomo plik php ten sam i linia ta sama) Może nie dałem jakiejś komendy albo coś innego ...ale postępuję zgodnie z instruktarzem na stronie

Mamy już więc jakąś regularność.

Czekam na odpowiedź.
Go to the top of the page
+Quote Post
Exek
post
Post #10





Grupa: Zarejestrowani
Postów: 120
Pomógł: 10
Dołączył: 16.08.2007

Ostrzeżenie: (0%)
-----


symfony propel-build-model
i
symfony cc

bo chyba o tym zapomniałeś winksmiley.jpg
Go to the top of the page
+Quote Post
sebusiek
post
Post #11





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


Zapomniałem ale dalej kicha...
Zauważyłem jednak pewien błąd przy build-model mianowicie

[propel-om] Could not perform XLST transformation. Make sure PHP has been compiled/configured to support XSLT.


ale rozszerzenie w php.ini extension=...xsl.dll mam włączone

może tu jest jakiś myk?questionmark.gif?

Hej Exec jesteś tam masz jakieś pomysły dalej a może ktoś inny się zainteresuje bo chciałbym coś zrobić z tym Symfony a dalej piszę strukturalnie.
Dzięki czekam na jakąś wiadomość
Go to the top of the page
+Quote Post
roofy_1
post
Post #12





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 12.02.2008

Ostrzeżenie: (0%)
-----


Witaj!!!
sprawdź czy masz na pewno w php-ie włączoną bibliotekę xsl a jeśli nie to porównaj wersje php i ściągnij do właściwej odopiednią *.dll-kę

Pozdr,
Go to the top of the page
+Quote Post
sebusiek
post
Post #13





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


Zaktualizowałem php na ubuntu już nie pojawia się błąd związany z biblioteką XSLT ale
ten błąd:
Fatal error: Class 'PostForm' not found in /usr/share/php/symfony/generator/sfAdminGenerator.class.php on line 722
dalej jest. Stworzyłem nowy projekt od początku i dalej to samo. Pokaże może mój schema.xml

<?xml version="1.0" encoding="UTF-8"?>
<database name="propel" defaultIdMethod="native" noxsd="true">
<table name="weblog_post" phpName="Post">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
<column name="title" type="varchar" size="255" />
<column name="excerpt" type="longvarchar" />
<column name="body" type="longvarchar" />
<column name="created_at" type="timestamp" />
</table>

<table name="weblog_comment" phpName="Comment">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true" />
<column name="post_id" type="integer" required="true" />
<foreign-key foreignTable="weblog_post">
<reference local="post_id" foreign="id"/>
</foreign-key>
<column name="author" type="varchar" size="255" />
<column name="email" type="varchar" size="255" />
<column name="body" type="longvarchar" />
<column name="created_at" type="timestamp" />
</table>
</database>

Model buduje się prawidłowo, tworzy polecenia sql prawidłowo zapisuje do bazy tabele prawidłowo
a tym CRUD'em dalej nic. Ręce opadają

Czekam dalej na pomysły
Go to the top of the page
+Quote Post
destroyerr
post
Post #14





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


Moim zdaniem błąd, który otrzymujesz jest bardzo sugestywny ale jeśli masz problem to postaram się pomóc.
Czy użyłeś polecenia
Kod
symfony propel:build-all
czy każde polecenie osobno? Jeśli osobno to wykonaj jeszcze polecenie
Kod
symfony propel:build-forms


Staraj się na przyszłość pliki yaml wrzucać w znacznik code, w obecnej postaci są wyjątkowo nieczytelne.
Go to the top of the page
+Quote Post
sebusiek
post
Post #15





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


Sugestywny może tak a nawet na pewno dla Tych co się znają
no jakaś tam klasa nie jest zdefiniowana w jakimś tam pliku w danej linii, tylko że w żadnych tutorialach nie jest opisane co trzeba zrobić jak nie wyjdzie. Tym bardziej że postępuję linijka w linijkę po kroczku za tymi przykładami ze strony trac.symfony...itd.
Np: jak dodać taką klasę i dlaczego. Takich poleceń jak "symfony propel:build-form " nikt nigdzie nie sugerował

W każdym razie jestem o parę kroków do przodu coś tam zaskoczyło tylko teraz wyrzuca ten sam błąd kiedy odwołuję się do strony:
http://localhost/sfdemo/web/frontend_dev.php/post i chcę edytować rekord bądź tworzyć nowy "create"

Fatal error: Class 'PostForm' not found in D:\wamp\www\sfdemo\apps\frontend\modules\post\actions\actions.class.php on line 20

jest tylko inna linijka.

Przeglądałem ten plik actions.class i rzeczywiście jest odwołanie do tej metody czy tam klasy ale to ja mam ją stworzyć? czy jak sugeruje tutorial te metody są gotowe "a priori", a jeżeli są to może w jakichś modułech których nie widać z poziomu tego pliku (ja chyba dostanę oczopląsu).

Czekam i dzięki za zainteresowanie
Go to the top of the page
+Quote Post
destroyerr
post
Post #16





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

Ostrzeżenie: (0%)
-----


No więc jest to opisane, tylko Ty korzystasz z wersji 1.1 a tutorial pewnie do wersji 1. Tutaj masz dla wersji 1.1 http://trac.symfony-project.org/browser/do...rst-project.txt
Oczywiście, możesz od razu zrobić build-all i będziesz miał formularze.

Nie wiem czy po zbudowaniu formularzy wyczyściłeś cache. Jeśli tak i nadal nie działa to jest to strzelanie w ciemno, ale zacznij od sprawdzenia czy w ogóle masz tą klase w lib/form.
Go to the top of the page
+Quote Post
sebusiek
post
Post #17





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 13.09.2008

Ostrzeżenie: (0%)
-----


Rzeczywiście zapomniałem o "symfony cc". Na razie wszystko chodzi
Już podziękowałem za posta.

Widać że moje problemy są wynikiem niedouczenia obiektówki i symfony

Zacznę zawracać głowy mądrzejszym po przeczytaniu dokumentacji

Dziękuje bardzo
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:33