Diskuze: Rada ohledne OOP

PHP PHP Rada ohledne OOP American English version English version

Avatar
berry309
Redaktor
Avatar
berry309:

ahoj, jen takovej dotazek, kdyz bych si u tutorialu o OOP chtel udelat stranku treba s vypisem vsech clanku co jsou v db, tak jasny, udelam kontroler a pohled, pocitam, ze i model kde bude script na tahani udaju z db, nejsem nijakej profik na oop tak se ptam jestli me uvazovani spravne

Odpovědět 14.1.2013 20:30
HTML a CSS kodér - www.josefberan.eu
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na berry309
David Čápka:

Ahoj, model již máš, je jím ManazarClanku. Do něj by sis přidal metodu vratSeznamClanku() nebo něco podobného. Kontroler a šablonu by sis udělal udělal nové.

Nahoru Odpovědět 14.1.2013 20:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
berry309
Redaktor
Avatar
Odpovídá na David Čápka
berry309:

jo, vidis, to me nenapadlo, ze model uz mam, jdu to vyzkouset

Nahoru Odpovědět 14.1.2013 20:36
HTML a CSS kodér - www.josefberan.eu
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na berry309
David Čápka:

Většinou máš ke každé databázové entitě model, v té filozofii mého MVCčka manažer. Ty potom používáš ve více kontrolerech :)

Nahoru Odpovědět 14.1.2013 20:40
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
berry309
Redaktor
Avatar
Odpovídá na David Čápka
berry309:

jo, je to logicky. ono uz jsem jednou delal zbytecne treba kontrolery kdyz jsem si chtel sam udelat neco jako ty mas ten editor.

Nahoru Odpovědět 14.1.2013 20:45
HTML a CSS kodér - www.josefberan.eu
Avatar
berry309
Redaktor
Avatar
berry309:

co mam v tomhle spatne (uz jsem utahanej, takze nejak kravina) :D

Fatal error: Call to undefined method DB::vypisClanek() in C:\

//seznam článků
public function vratSeznamClanku($clanek)
{
   return DB::vypisClanek('SELECT `clanky_id`, `prezdivka`, `titulek`, `publikovano` FROM `clanky`
   INNER JOIN `uzivatele` ON (`uzivatele_id` = `autor_id`)
   ');
Editováno 14.1.2013 23:13
Nahoru Odpovědět 14.1.2013 23:12
HTML a CSS kodér - www.josefberan.eu
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na berry309
David Čápka:

Na třídě DB není metoda vratClanek. DB je wrapper, umí jen obecné dotazy. Konkrétní máš v modelech.

Nahoru Odpovědět 15.1.2013 9:50
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
berry309
Redaktor
Avatar
Odpovídá na David Čápka
berry309:

jo, chapu teda, ze musim rozsirit i model DB o to svoje vypisovani clanku?

Nahoru Odpovědět 15.1.2013 17:40
HTML a CSS kodér - www.josefberan.eu
Avatar
berry309
Redaktor
Avatar
berry309:

Tak jsem tu zas se svym zacatecnickym dotazem o OOP

mam pohled, tam by to melo byt OK

<table>
<tr><td>ID</td><td>Titulek</td><td>Publikováno</td><td>Autor</td></tr>
<tr><td><?= $clanky_id ?></td><td><?= $titulek ?></td><td><?= $publikovano ?></td><td><?= $prezdivka ?></td></tr>
</table>

k tomu kontroler - tady tapu

public function zpracuj($parametry)
{


                $this->hlavicka = array('titulek' => 'Výpis článků',
                                                                'klicova_slova' => '',
                                                                'popis' => '');

                $sc = new ManazerClanku();

                $vypis = $sc->vratSeznamClanku($parametry);
                // Naplnění proměnných pro šablonu
                $klice = array('clanky_id', 'titulek', 'publikovano', 'prezdivka');


                $this->pohled = 'seznam-clanku';

}

a tady to jsem pridal v modely/DB - tady jsem v ritim nevim co vyplnit

//vypis clanku
public static function vypisClanek()
{

}

a tady manazerclanku jsem pridal toto - tady taky tapu

//seznam článků
public function vratSeznamClanku($vypis)
{
   return DB::vypisClanek('SELECT `clanky_id`, `prezdivka`, `titulek`, `publikovano` FROM `clanky`
   INNER JOIN `uzivatele` ON (`uzivatele_id` = `autor_id`)
   ');


}

pise to Notice: Undefined variable: clanky_id a u vseho u titulek atd.. Problem je v tom, ze nevim kde je mam definovat

Nahoru Odpovědět 16.1.2013 19:01
HTML a CSS kodér - www.josefberan.eu
Avatar
berry309
Redaktor
Avatar
berry309:

v "cistym" PHP mam jednoduse toto

include "pages/db.php";
      /* výpis dat */
  if(!$data=mysql_query("select * from users"))
    {echo "<h2>Nepodařilo se připojit k tabulce users.</h2>\n"; break;}
  echo "<table>";
  echo "<tr><td>ID</td><td>Název</td><td>Login</td><td>Upravit</td><td>Smazat</td></tr>\n";
  while($zaznam=mysql_fetch_array($data)){
    //postupné načtení a výpis všech záznamů pomocí cyklu

    echo "<tr><td>".$zaznam["id"]."</td><td>".$zaznam["name"]."</td><td>".$zaznam["login"]."</td><td>Upravit</td><td><a href=#>Smazat</a></td></tr>\n";
  }
  echo "</table>\n";

a je to, tady trochu tapu :D

Nahoru Odpovědět 16.1.2013 19:07
HTML a CSS kodér - www.josefberan.eu
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na berry309
David Čápka:

Moc jsi ze seriálu nepochytil koukám :) Možná by stálo za to si ho projet znovu.

Nahoru Odpovědět 16.1.2013 19:13
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
berry309
Redaktor
Avatar
Odpovídá na David Čápka
berry309:

No popravde jsem to projizdel, jenze jsem se do toho tak zamotal, ze jsem rad, ze jsem to vratil do puvodni podoby

Nahoru Odpovědět 16.1.2013 19:20
HTML a CSS kodér - www.josefberan.eu
Avatar
berry309
Redaktor
Avatar
Odpovídá na David Čápka
berry309:

Tak se v tom opet vrtam a zjistuju, ze se na PHP vykaslu kdyz nejsem schopnej rozchodit neco tak jednoduchyho, nema to smysl :) Stejne se tvorbou www uz tezko budu zivit. :D

Nahoru Odpovědět 11.2.2013 22:34
HTML a CSS kodér - www.josefberan.eu
Avatar
jan.vencl
Redaktor
Avatar
Odpovídá na berry309
jan.vencl:

Nevzdávej se ;) 1% talentu 99% píle :)

 
Nahoru Odpovědět 10.8.2013 5:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 14 zpráv z 14.