Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [cakephp] pare pytan
Forum PHP.pl > Forum > PHP
misty
hej, mam pare podstawowych pytan dotyczacych cakephp:

1. Nazewnictwo - jak dla mnie - jest dosc irytujace. Jedna rzecz, ktora drazni mnie najbardziej to dodawanie 's' na koncu tabel w bazie :| np. zamiast tabeli osoba musze miec tabele osobas.
czy da sie to gdzies w konfiguracji zmienic zeby nie trzeba bylo dodawac tego 's' questionmark.gif

2. Nazewnictwo - ciag dalszy. Mamy te tabele osobas (brrrrr ://). Ja ogolnie przyjmuje konwencje: nazwaTabeli_id. czyli:
osoba_id | imie | nazwisko

a z tego co widze to on koniecznie chce zeby to bylo 'id'.

  1. Warning (512): SQL Error: 1054: Unknown column 'Osoba.id' in 'where clause' [CORE/cake/libs/model/datasources/dbo_source.php, line 521]
  2.  
  3. Query: SELECT `Osoba`.`osoba_id`, `Osoba`.`imie`, `Osoba`.`nazwisko` FROM `osobas` AS `Osoba` WHERE `Osoba`.`id` = '1' LIMIT 1


prosze, niech ktos powie ze to mozna zmienic, dla mnie najbardziej oczywista jest konwencja nazwaTabeli_id

3. Jak zrobic strone glowna? tzn. jak na razie (od wczoraj) patrze sobie jak to fajnie (czy niefajnie) dziala z baza itd. wchodze na adres:
127.0.0.1/MojProjekt/index.php/NawaKontrollera
dobra, ale jesli chce sobie zrobic strone glowna (np pierwsza strona to powinna byc logowanie) log.php to gdzie powinnam ja umiescic? oraz w jaki sposob wejsc? poprzez 127.0.0.1/MojProjekt/coDalej?

bede wdzieczna za wszelkie odpowiedzi..

pzdr,
misty

jeszcze mam 4-te pytanie. w jakim katalogu powinnam trzymac swoje klasy? tzn klasy niezwiazane z MVC, po prostu 'jakies' klasy (np pomocnicze). w ktorym z katlaogow powinny byc zapisane?

pzdr
Matimor
1 i 2. Jaka maszyna lub hosting jest? Jeżeli jest taka możliwość to przeinstaluj silnik SQL albo inne wyjście masz w kodzie gdzieś błąd.
3. <a href="log.php"></a> i nie ma linku takiego jak: www.domena.pl/index.php/MojProjekt
4. W jakim chcesz, jest to obojętne smile.gif
mortus
Hmm... Jeżeli zaczynasz przygodę z CakePHP, to prześledź tutorial Blog w CakePHP. Dosyć szybko można to przełknąć i kilka podstaw zrozumieć. Niestety tutorial częściowo po polsku, ale w większości po angielsku. Teraz parę odpowiedzi:
1. Nie trzeba dodawać 's' do nazwy tabeli w bazie danych, ale należy ustawić atrybut modelu, a dokładniej zmienną $useTable.
2. Również trzeba ustawić atrybut modelu, a dokładniej zmienną $primaryKey.
Przeglądnij atrybuty modelu.
3. Niestety od tak tego nie zrobisz. Musisz utworzyć kontroler, formularz i widok, a później ustawić routing (wszystko opisano w tutorialu).
4. Może utwórz sobie katalog library i tam trzymaj swoje klasy php.
Nie jestem specjalistą od Cake'a, ale przetestować go zdążyłem i drobną radą mogę służyć. Osobiście wolę inne framework-i. Mimo wszystko proponuję zacząć od Bloga.
misty
bylam na tych stronach, ale w sumie dosc szybko sie zniechecilam. przejrze wiec je jeszcze raz-dokladniej i dam znac co zdzialalam. mnie sie ten cake tez srednio widzi, niestety musze. ogolnie caly php mi sie srednio widzi. bo wszystko co sie da zrobic w php, da sie zrobic w javie, z ta roznica ze 5 razy lepiej. chyba przez to moje ogolne zniechecenie tak pobieznie przejrzalam te strony. ale jak mowilam-przejrze te strony.

ale nadal mam pytanie co do tego, jak 'odpalic' projekt. ok, mam kontroler, formularz i widoki. ale co jest moja strona startowa? cos typu index.php? cos, od czego zaczynam

pzdr
mortus
CakePHP ma wbudowaną stronę startową. Aby ją zastąpić należy postępować zgodnie z instrukcjami pokazanymi na tej stronie.
Cytat
Editing this Page

To change the content of this page, create: APP/views/pages/home.ctp.
To change its layout, create: APP/views/layouts/default.ctp.
You can also add some CSS styles for your pages at: APP/webroot/css.
Teraz tak:
home.ctp zawiera konkretną treść strony, która będzie załadowana do layoutu za pomocą polecenia php
  1. <?php echo $content_for_layout; ?>

default.ctp definiuje layout strony (domyślny layout znajduje się w katalogu cake/libs/views/layouts w pliku defaults.ctp) i na jego podstawie możesz utworzyć własny layout, przy czym w miejscu gdzie jest wykonywana powyższa instrukcja php pojawi się treść pliku home.ctp.
style możesz dodawać w plikach css, w katalogu app/webroot/css, oczywiście muszą one być wstawione w layoucie.
Przeglądnij pliki, a pojmiesz, o co chodzi.
Oczywiście twoja strona nie musi się nazywać home.ctp, ale wtedy trzeba ustawić odpowiedni routing, czyli trzeba edytować plik routes.php z katalogu app/config.
Jeżeli natomiast masz już kontroler, widok (a w przypadku logowania formularz) to potrzebujesz tylko ustawić odpowiedni routing.
misty
jeju, wreszcie zaczynam cos kumac smile.gif

dzieki wielkie za pomoc!

pzdr,
misty
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.