Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Kohana]Pierwsz aplikacja, Co i jak z MVC plikami/klasami
marcio
post
Post #1





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


WItam fajnie by bylo jakby sie nikt ze mnie sie smial z gory mowie ze jestem lamerem w KOHANA znam ja od dzisiaj zainstalowalem sobie wszystko stworzylem katalog logs i models w application i probuje stworzyc pierwsza "aplikacje" ktora powinna pobierac dane uzytkownikow z mojej starej bazy i ich wyswietlic w tabeli.

Ustawilem config database jednak o ile mi sie wydaje w routes tez powinienem zmienic defualtowa opcje jednak nie wiem zabardzo na co.

Potem nie wiem dokonca jak ma wygladac controller,model i widok jak narazie robie cos w tym stylu:
Controller:(application/controllers/users.php)
  1. <?php
  2.  
  3. defined('SYSPATH') OR die('No direct access allowed.');
  4.  
  5. class Users_Controller extends Controller {
  6.  
  7.    const ALLOW_PRODUCTION = FALSE;
  8.  
  9.    //public $template = 'kohana/template';
  10. public $template = 'users_content';
  11.    
  12.    public function __construct(){
  13.  
  14.     parent::__construct();
  15.  
  16.      $this->template = new View($this->template);
  17.  
  18.    }
  19.    
  20.    public function index()
  21.    {
  22.        
  23.          $user = Users_Model;
  24.          $user -> GetUsers();
  25.          $this -> template -> render(TRUE);
  26.        
  27.    }
  28. }
  29.  
  30. ?>

Model:(application/models/users.php)
  1. <?php
  2. class Users_Model extends Model {
  3.  
  4. public $users = array();
  5.  
  6. function __construct() {
  7.  
  8.   parent::__construct();
  9.    
  10. }
  11.  
  12.      
  13. public function show() {
  14.  
  15.   $this -> users = $this -> db -> query('select id,login,email from users limit 5');
  16.        
  17.   }
  18. }
  19. ?>

Czytalem ze dziedziczac po Model w polu $db mamy juz obiekt bazy danych wiec go nie tworzylem na nowo.

Widok:(application/views/users_content.php)
  1. <?php defined('SYSPATH') OR die('No direct access allowed.'); ?>
  2. <table align="center">
  3.  <tr>
  4.   <td>Id</td>
  5.   <td>Login</td>
  6.   <td>EMAIL</td>
  7.  </tr>
  8.  <tr>
  9.   <td><?php echo($id) ?></td>
  10.   <td><?php echo($login) ?></td>
  11.   <td><?php echo($email) ?></td>
  12.  </tr>
  13. </table>

Wiem powinna tam byc petla foreach() ale to tylko zarys.

Chcialbym by ktos mnie nakierowal co musze zrobic moze w ogole pomylilem katalogi jak mam pobrac dane w modelu i potem wykonwac to w controlerze zeby on potem wszystko wyrenderowal.

Nie oczekuje ze ktos mi wszystko napisze ale jakies nakierowanie bo poczatki sa najgorsze.

P.S probowalem zmienic tez -htaccess na ten z tego watku Temat: Kohanapozbycie_sie_indexphp a w glownym config'u.
A w configu dalem: $config['index_page'] = NULL;

Ten post edytował marcio 18.05.2009, 14:23:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(marcio @ 19.05.2009, 01:15:57 ) *
1.)Co daje mi dodanie arg. TRUE do metody render() bo jak nie dodam echo() w widoku to nie wyswietla mi zawsze musze miec ehco() nawet jak mam TRUE lub jak go nie ma jak to obejsc??

Kohana jest na tyle prostym frameworkiem, że bez problemu możesz dojść do tego jak co działa patrząc w kody źródłowe. I tak jeśli chodzi o metodę render() to wywołanie $view->render(TRUE) jest równoznaczne z echo $view->render(). Podanie pierwszego parametru jako TRUE spowoduje przesłanie widoku na wyjście. Jeśli chciałbyś przypisać wygenerowany widok do zmiennej to wystarczy zrobić $var = $view->render().

Cytat(marcio @ 19.05.2009, 01:15:57 ) *
2.)Jestemy w: kohana/system/config/database.php mamy dyrektywe:
Kod
'object' => TRUE

Nom i wiem jak operowac na danych zwroconych przez query() czyli $zmienna -> index_z_db i to dziala.
Co jesli dam FALSE na object?Jak mam wtedy operowac na danych bo zabardzo nie wiem??

Jeżeli użyjesz FALSE (result_array(FALSE)) w wyniku otrzymasz tablicę asocjacyjną czyli odwołujesz się $zmienna['index'].

Cytat(marcio @ 19.05.2009, 01:15:57 ) *
3.)Czy w zapytaniach sql zmienne sa automatyczne filtrowane bo jak dodam np: mysql_real_escape_string() to mam jakis error bez niego smiga.

Tak, jeżeli korzystasz z query buildera to nie musisz się o to martwić. Jeśli natomiast wykonujesz zapytania "z palca" metodą query() to wówczas takie dane nie są zabezpieczane i wówczas musisz o to zadbać samemu (są odpowiednie metody do tego - poszukaj).

Cytat(marcio @ 19.05.2009, 01:15:57 ) *
4.)Defaultowo mamy dyrektywe error na 1 jednak przy samym tworzeniu aplikacji lvl 4 duzo daje?Czy po skonczeniu zostawic 4 lub dac spowrotem na 1?

Nie bardzo wiem o czym mówisz. Chodzi Ci o 'log_threshold' z config.php?

Cytat(marcio @ 19.05.2009, 01:15:57 ) *
5.)Czy mozna zmienic nazwe defaultowej nazwy funkcji tzn zmienic z index() na inna w zadnym configu nie znalazlem takiej mozliwosci?

Nie można. Możesz jedynie pobawić się routingiem ale nie wiem czy osiągniesz to co chcesz (nie wiem za bardzo co chcesz osiągnąć (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ).

Cytat(marcio @ 19.05.2009, 01:15:57 ) *
6.)Mamy sobie Template klase View i mam takie pytanie czy zmienne w szablonach mozna ustawiac tylko za pomoca pol tzn

Jest jeszcze set_global(). Nie wiem po co Ci więcej możliwości przypisywania zmiennych do widoku. Chyba 2 możliwości w zupełności wystarczą. Aha, możesz również przypisać je hurtowo podając je jako tablicę (nazwa zmiennej => wartość) jako drugi parametr konstruktora View.

Cytat(marcio @ 19.05.2009, 01:15:57 ) *
7.)Co to jest ORM do czego to uzywac i jaka jest roznica pomiedzy ORM a LDAP czy cos takiego.

Ujmę to krótko: ORM sobie daruj, zbędny bajer. Więcej z nim problemów niż pożytku (taka jest moja osobista opinia) O samej istocie ORM możesz poczytać chociażby na Wikipedii.

Cytat(marcio @ 19.05.2009, 17:16:18 ) *
Chodzi o warunki IF w widokach tzn czy jestem zmuszony robic 2 osobne widoki np dla zalogowanego i nie zalogowanego user'a lub gdy chce wyswietlic profil user'a a takiego nie ma w bazie i musze zwrocic error??

Lub moge uzyc warunki if w widokach na zasadzie zmiennych do niego przesylanych?

Możesz do widoku przypisać zmienną prawda/fałsz i na tej podstawie wyświetlić odpowiednie dane. Możesz również już na poziomie kontrolera załadować odpowiedni widok w zależności od jakiś tam warunków.

To chyba tyle. W razie czego pytaj dalej.
Go to the top of the page
+Quote Post

Posty w temacie
- marcio   [Kohana]Pierwsz aplikacja   18.05.2009, 14:15:51
- - adrian.p   Polecam lekturę na sam początek: http://nasza.koha...   18.05.2009, 14:22:51
- - marcio   Czytalem!!   18.05.2009, 14:24:01
- - skowron-line   http://docs.kohanaphp.com/general/models tu masz w...   18.05.2009, 14:25:23
- - marcio   Ok poczytam dzis wieczorem pokombinuje tyle sie na...   18.05.2009, 14:28:19
- - Cypherq   Tu masz usuwanie index.php z Kohany. http://plane...   18.05.2009, 14:31:25
- - marcio   @UP ten link wyzej nie dziala mi ani na IE ani na ...   18.05.2009, 15:16:19
- - Cypherq   W skrócie, wróć do defaultowych opcji w configu, z...   18.05.2009, 16:11:20
- - marcio   Kurde musze przyznac ze super to jest ochlonolem t...   19.05.2009, 00:15:57
- - skowron-line   Pytasz jak ustawić wartości Defaultowych [PHP] pob...   19.05.2009, 08:22:18
- - marcio   CytatPytasz jak ustawić wartości Default...   19.05.2009, 16:16:18
- - magnus   W dokumentacji tego nie znajdziesz (chyba że jakie...   19.05.2009, 16:54:51
- - phpion   Cytat(marcio @ 19.05.2009, 01:15:57 )...   19.05.2009, 17:01:13
- - tomahawk   A co do usuwania index.php z adresu to czy czasem ...   19.05.2009, 17:15:34
- - Cypherq   [PHP] pobierz, plaintext <?php$config['site...   19.05.2009, 21:06:41
- - tomahawk   Niewiem zabardzo co tam ma być bo domyślnie jest f...   19.05.2009, 21:36:24
- - marcio   CytatJeżeli użyjesz FALSE (result_array(...   19.05.2009, 23:48:11
- - phpion   Cytat(marcio @ 20.05.2009, 00:48:11 )...   20.05.2009, 06:59:27
- - marcio   CytatW dokumentacji masz prosty i czytelny przykła...   20.05.2009, 13:21:25
|- - phpion   Cytat(marcio @ 20.05.2009, 14:21:25 )...   20.05.2009, 13:52:34
- - marcio   Aha super to trzeba bedziesz sie wziasc za napisan...   20.05.2009, 14:51:01


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 - 22:23