Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
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
semafor1985
post
Post #3





Grupa: Zarejestrowani
Postów: 61
Pomógł: 3
Dołączył: 18.10.2012
Skąd: Zagłębie Dąbrowskie

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


Cytat(wujek2009 @ 21.03.2014, 06:46:57 ) *
- lub w warunkach IF aby porównać czy cena jest większa bądź równa


"większa bądź równa" >= (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
freemp3
post
Post #4





Grupa: Zarejestrowani
Postów: 467
Pomógł: 77
Dołączył: 6.09.2008
Skąd: Miechów / Kraków

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


Na początek proponuję zaznajomić się z klasami i ogólnie obiektowością w PHP, dopiero jak to ogarniesz zacznij uczyć się MVC. W innym przypadku nie ogarniesz tego, a jeśli nawet to zajmie Ci to o wiele więcej czasu.
Go to the top of the page
+Quote Post
Turson
post
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat
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.

Chyba w wymaganiach pracy było o Yii bo inaczej sobie nie wyobrażam, że ot tak rzucili Yii (IMG:style_emoticons/default/smile.gif)

Cytat
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.

Nie jest takie trudne jak się wydaje, ale nie chcę się wymądrzać, bo sam miałem taki sam problem na początku. Tutaj tłumaczyć ci co to MVC po raz enty nie będziemy.
Temat nie ma nic wspólnego z Yii

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

Koledzy wyżej nie zrozumieli. => jest używane w tablicach (podstawy)
  1. $tablica = array('indeks'=>'wartosc');
Go to the top of the page
+Quote Post
pyro
post
Post #6





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(Bejkrools @ 20.03.2014, 23:42:34 ) *
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.


Na ten moment nie polecam Ci szukania pracy, bo pytania są ewidentnie na etapie "kupiłem książkę i zacząłem się uczyć". Może gdzieś się załapiesz na praktyki, ale generalnie lepiej się czegoś nauczyć najpierw.

Cytat(Bakerools)
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.


Kwestia MVC to jest właśnie "po co to jest". Więc zaryzykuję stwierdzenie, że jednak nie wiesz po co on jest (IMG:style_emoticons/default/wink.gif) . Nie będę się rozpisywał na jego temat, bo pisane o nim było już milion razy, ale jako radę dam zastosowanie w praktyce.

Cytat(Bakerools)
2. Czym się różni -> od =>?


Cytat(Turson @ 21.03.2014, 08:34:15 ) *
Koledzy wyżej nie zrozumieli. => jest używane w tablicach (podstawy)
  1. $tablica = array('indeks'=>'wartosc');


"->" służy odwołaniom do metod / pól obiektu. Natomiast "=>" służy ogólnie do odwołań klucz => wartość. Tak jak powiedział @Turson stosowane raczej w tablicach, ale nie tylko przy ich definiowaniu, ale np. pętli foreach.

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


Bo dziedziczy go z innej klasy?

Cytat(Bakerools)
4. Co oznacza np. echo CHtml::submitButton('Dodaj') - działanie rozumiem, ale ten podwójny dwukropek mnie zastanawia.


To jest operator odwołań statycznych, ma fajną nazwę (uwaga, pewnie popełnię literówkę): PAAMAYIM NEKUDOTAYIM.

Powodzenia.
Go to the top of the page
+Quote Post
aniolekx
post
Post #7





Grupa: Zarejestrowani
Postów: 340
Pomógł: 46
Dołączył: 31.07.2009
Skąd: A

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


Po twoich pytaniach wnioskuje ze nawet podstaw nie znasz.
Go to the top of the page
+Quote Post
szok
post
Post #8





Grupa: Zarejestrowani
Postów: 165
Pomógł: 20
Dołączył: 2.03.2006

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


Bez wiedzy na temat OOP w PHP niema szans abyś mógł poprawnie programować w jakimkolwiek frameworku PHP.
Po 1.
https://www.google.pl/search?q=PHP+OOP&...91&ie=UTF-8
Po 2.
http://pl.phptherightway.com/

Chcesz zostać dobrym programistą PHP? Proponuje przeczytać dość dokładnie tę prezentację i zastosować się do nich:
http://netsand.pl/phpowac/#entry

(IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 24.08.2025 - 00:18