Autor Zpráva
dejvid007
Profil *
Ahoj, ahoj,
koukal jsem na net, ale žádný český návod jsem nenašel, jen něco u Nette, ale z toho to vůbec nechápu. Koukal jsem také na PHP.net, ale z toho jsem to nepochopil.
Viděl jsem něco na způsob
namespace Neco;
use Neco\NecoDalsiho\AOpetNeco;
Chtěl bych někoho poprosit, zda by mi sem nemohl hodit nějaký kód, z kterého bych to dokázal nějak poznat, nebo laické vysvětlení s nějakým základním kódem. Vždy jsem se na toto fórum mohl obrátit, tak doufám, že i nyní.
Děkuji moc,
pěkný zbytek večera.
Jan Tvrdík
Profil
A co ti konkrétně není jasné? Předpokládat, že ti tu někdo napíše celý překlad dokumentace by asi bylo naivní. Polopaticky řešeno ti jmenné prostory umožní rozházet si třídy do „složek“ a odkazovat na ně relativně nebo absolutně.
dejvid007
Profil *
Aha, už možná vím. Nemohl byste mi sem hodit nějaký jednoduchý příklad? Děkuji.
_es
Profil
dejvid007:
Nemohl byste mi sem hodit nějaký jednoduchý příklad?
V tvojom kóde v [#1] máš automatické odkazy na dokumentáciu - sú tam aj „jednoduché príklady“.
kzkcz
Profil
Můžeš si aplikaci rozdělit do logických bloků.

namespace App
namespace App\Admin
namespace App\Frontend

Pak pracuješ v rámci namespace. Takže když si nahoře definuješ např. App/admin pracuješ v adminovském namespace a jednoduše můžeš používat třídy, které v něm jsou. Pokud chceš z jiného namespace voláš je přes jejich celou adresu. Např. \Nette\Helper\String. Je to výhodné pro snažší dělení tříd a můžeš mít stejné třídy v různých namespace bez toho aniž by Ti PHP házelo "redeclare" chybu. Jednou budeš mít \Nette\Helper\String a pak třeba \App\Admin\String svojí třídu.

Taky je to fajn na něco podobného.

<?php

use App\Admin\String as S;

class AdminPresenter extend Předek
{
  public function magicFce($string)
  {
     return S::trim($string);
  }
}
kzkcz
Profil
A klasika od Grudla http://phpfashion.com/best-practices-pro-jmenne-prostory-v-php

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0