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
marcio
post
Post #2





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

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


Kurde musze przyznac ze super to jest ochlonolem troche poczytalem dokumentacje i jakies tam arty i juz wszystko wiem co i jak robic tzn wszystko controllery,modele i widoki i do tego potrafie skonfigurowac wszystko tak jak chce oczywiscie dla potrzeb ktore jak dotad mialem.

Wiec zrobilem sobie jak narazie male wyswielanie user'ow samego widoku nie pokarze bo mysle ze jest to zbedne poniewaz dziala.

Controller:
  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.    
  11.    
  12.  public function __construct(){
  13.  
  14.     parent::__construct();
  15.  
  16.  }
  17.    
  18.    
  19.   public function index() {
  20.        
  21.          $user = new Users_Model;
  22.          $temp = new View('users_content');
  23.  
  24.          $users = $user -> GetUsers();
  25.          $temp -> set('user', $users);
  26.          $temp -> render(TRUE);
  27.    }
  28.  
  29.   public function GetSpecifyUser($name) {
  30.        
  31.          $user = new Users_Model;
  32.          $temp = new View('user_content');
  33.  
  34.           $usr = ($this -> uri -> total_segments() == 3) ? $user -> GetUser($this -> uri -> segment(3)) : $user -> GetUser('bios');
  35.  
  36.          $temp = new View('user_content');
  37.          $temp -> set('user', $usr);
  38.          $temp -> render(TRUE);
  39.    }
  40.  
  41. }
  42.  
  43. ?>

I tu model:
  1. <?php
  2. class Users_Model extends Model {
  3.  
  4. public function __construct() {
  5.  
  6.   parent::__construct();
  7.    
  8. }
  9.  
  10.      
  11. public function GetUsers($limit = 5) {
  12.  
  13.   return $this -> db -> query('select id,login,email from users limit '.$limit);
  14.        
  15.   }
  16.  
  17.  
  18. public function GetUser($name) {
  19.  
  20.   return $this -> db -> query('select id,login,email from users where login = '.$name);
  21.   //return $this -> db -> select('id, login, email') -> from('users') -> where('login', $name);
  22.        
  23.   }
  24.  
  25. }
  26. ?>

No i jak wejdziemy na: http://marcio.szu.pl/kohana/index.php to wszystko jest ok.
Na: http://marcio.szu.pl/kohana/index.php/user...cifyUser/marcio mamy error nie wiem dlaczego rotfl powinno dzialac....
Na: http://marcio.szu.pl/kohana/index.php/users/GetSpecifyUser/ nom i tutaj tak jakby ten warunek nie dzialal:
  1. <?php
  2. $usr = ($this -> uri -> total_segments() == 3) ? $user -> GetUser($this -> uri -> segment(3)) : $user -> GetUser('bios');
  3. ?>

Probowalem sprawdzac $this -> uri -> segment(3) za pomoca != False,!empty() i isset() i albo blad ze cos tam nie moze zwrocic a z false nie dziala jak ustawic defaultowy parametr bo jak zrobie tak: $this -> uri -> segment(3, 'marcio') to jesli nie bedzie argumentu to defaultowo da marcio tak zrozumialem z dokumentacji: http://docs.kohanaphp.com/libraries/uri

I teraz mam kilka pytan
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??

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(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

3.)Czy w zapytaniach sql zmienne sa automatyczne filtrowane bo jak dodam np: mysql_real_escape_string() to mam jakis error bez niego smiga.

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?

5.)Czy mozna zmienic nazwe defaultowej nazwy funkcji tzn zmienic z index() na inna w zadnym configu nie znalazlem takiej mozliwosci?

6.)Mamy sobie Template klase View i mam takie pytanie czy zmienne w szablonach mozna ustawiac tylko za pomoca pol tzn
  1. <?php
  2. $view -> pole_z_widoku = 'jakas wartosc';
  3. $view -> set('pole_z_widoku', 'wartosc');
  4. ?>

Lub sa jakies inne metody jeszcze?

7.)Co to jest ORM do czego to uzywac i jaka jest roznica pomiedzy ORM a LDAP czy cos takiego.

Sorki ze tak duzo pytan i ze tak dupe truje no ale coz wszystkiego nauczyc sie nie mozna.

PoZdro.

Ten post edytował marcio 19.05.2009, 00:22:32
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: 29.12.2025 - 15:21