Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny]Jak zrozumieć Yii?, Bardzo trudne początki
Bejkrools
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 15.11.2012

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


Witam, programuję troszkę w PHP i zacząłem zastanawiać się nad pracą programisty ale po pierwszej odpowiedzi na moje CV załamałem ręce. Miałem rozwiązać jakieś zadanko z Yii więc niestety samo PHP nie wystarczy, ale do rzeczy.

Kupiłem sobie książkę (żeby jakoś zacząć, bo dokumentacja do mnie nie przemawiała) YiiFramework z Heliona. Po pierwsze książka zawiera mnóstwo błędów (które wyłapałem znając trochę PHP). Zamiast jednak cokolwiek sobie rozjaśnić, pojawiło się znacznie więcej pytań. Zadam kilka z nich, może któreś z Was będzie mogło mi wyjaśnić.

1. Pomóżcie mi zrozumieć na czym polega MVC. Zawsze wszystko robiłem w plikach php według podstron mojej, ewentualnie pliku z funkcjami. Nie potrafię logicznie ogarnąć tego MVC chociaż bardzo chcę. Nie po co jest, bo to w teorii wiem.

2. Czym się różni -> od =>?

3. Czym jest $this i czemu występuje np. w kontrolerze ("$this->render(...)) chociaż nigdzie go nie definiuje?

4. Co oznacza np. echo CHtml::submitButton('Dodaj') - działanie rozumiem, ale ten podwójny dwukropek mnie zastanawia.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wujek2009
post
Post #2





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


4. podwójny dwukropek oznacza odwołanie się to funkcji statycznej np. masz klase
  1. class Chtml
  2. {
  3. public static function wyswietlCzas()
  4. {
  5. return time();
  6. }
  7. }


więc: Chtml::wyswietlCzas() - zwyczajne odwoływanie się do funkcji bez tworzenia instancji nowej klasy (czyli np. $helper = new Chtml; $helper->wyswietlCzas())

3. "$this" operuje wewnątrz danych klas oraz klas dziedziczących - odwołuje się do danych funkcji, itd. np.
  1. class News
  2. {
  3. public function getCzas()
  4. {
  5. return time();
  6. }
  7.  
  8. public function wyswietlCzas()
  9. {
  10. return date('d.m.Y', $this->getCzas());
  11. }
  12. }


pracuje wewnątrz klasy "News", która akurat z nikim nie dziedziczy, itd - więc w funkcji wyswietlCzas odwołuje się do INNEJ funkcji Z TEJ SAMEJ KLASY.

2. to pytanie jest wciąż z kategorii klas? pierwsze to zwyczajny "separator", który będzie odwoływał się do innych klas (patrz pkt wyżej, $this->getCzas())[/b] - wiadmo jak jest funkcja statyczna to nie odwołasz się w ten sposób. Druga opcja to bardziej w tej chwili kojarzy mi się przy tablicach array - lub w warunkach IF aby porównać czy cena jest większa bądź równa (IMG:style_emoticons/default/smile.gif) podaj konkretny przykład, który Cie nurtuje.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 23:23