Anonymní profil Tomáš – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Tomáš – Programujte.comAnonymní profil Tomáš – Programujte.com

 

Příspěvky odeslané z IP adresy 90.180.97.–

th
PHP › PHP OOP začátečník - extends
8. 3. 2011   #139801

Jojo z tohoto jsem to poznal, že něco není v pořádku. Štve mě že kdy napíšu $lepsi_budik->nesmysl = 3, tak se v objektu nadeklaruje tato vlastnost bez toho že není deklarovaná.

A co že je to za proměnnou [pocetHodin] => 12 předpokládám že se váže k tomuto objektu, a to je jeho nějaká public "verze" vlastnosti? Co to vůbec je?

Jinak díky moc za vysvětlení

th
PHP › PHP OOP začátečník - extends
8. 3. 2011   #139794

To th : Oprava: Skript vypíše 12:31

th
PHP › PHP OOP začátečník - extends
8. 3. 2011   #139792

Hraju si s dědičností, narazil jsem na jednu drobnost.



class Budik{
private $pocetHodin;
public function kolikJeHodin()
{
return $this->pocetHodin;
}
public function pridejHodinu()
{
$this->pocetHodin++;
}
}

class LepsiBudik extends Budik{
private $pocetMinut;
public function kolikJeHodin()
{
return $this->pocetHodin.':'.$this->pocetMinut;
}
public function pridejMinutu()
{
$this->pocetMinut++;
}
public function __construct($hodiny,$minuty)
{
$this->pocetMinut = $minuty;
$this->pocetHodin = $hodiny;
}
}

$lepsi_budik = new LepsiBudik(12,30);
$lepsi_budik->pridejHodinu();
$lepsi_budik->pridejMinutu();

echo '<p>Je právě: '.$lepsi_budik->kolikJeHodin().'</p>';


Skript mi vypíše 13:31, no je mi to tak nějak divné, protože dědím metodu pridejHodinu ze třídy Budik a ta má přístup k vlastnosti $pocetHodin.

Když vypíšu pomocí print_r($lepsi_budik), tak mi to vyhodí
LepsiBudik Object ( [pocetMinut:LepsiBudik:private] => 31 [pocetHodin:Budik:private] => 1 [pocetHodin] => 12 )
Co to tam je to [pocetHodin] => 12 ?? Proč PHP nevyhodí chybu?

Pak jsem přišel na to, že když je $pocetHodin protected, tak to funguje. To by znamenalo, že pokud volám zděděnou metodu, tak pořád vystupuju pod třídou LepsiBudik - je to tak? Nicméně nemění to fakt na tom, že nechápu proč PHP nehodí chybu a co se mi to tam v tom objektu vytvořilo? Prosím o vysvětlení. Díky moc.

th
PHP › PHP OOP začátečník
7. 3. 2011   #139745

Zdravím Vás,
rád bych začal využívat Nette FRAMEWORK pro tvorbu webových apliakcí. A zjistil jsem že je napsaná objektově. Doposud jsem programoval v PHP procedurálně a OOPjsem se vyhýbal (jsem hold línej), ale rozhodl jsem se že se OOP v PHP začnu učit, nehledě na to, že budu muset kvůli škole začít s Javou, která je striktně objektová. Už jsem tak nějak pochopil základy Třídy, vlastnosti, metody, co je public, private, protected function/vlastnosti, k čemu jsou konstruktory, destruktory, getry, svetry a další ty věci...

Rád bych se zeptal, jestli by mne někdo mohl odkázat na nějaký užitečný tutorial s příklady. Né že bych nějaké nenašel, ale nerad bych se učil nějakým špatným návykům. Ono toho je spoustu, ale bohužel nerozeznám kvalitní postupy od těch, co by se mohly vymstít.

Už jsem zkoušel něco programovat - nějaký jakýsi výherní automat. Narazil jsem na pár začátečnickcýh věcí. Snad to chápu dobře, že po načtení tříd, pozakládám objekty (new), nastavím jim dejme tomu nějaké vlastnosti, něco se stane a vyplivnu HTML. Je to tak že po skončení skriptu je zase všechno pryč (tak jsem to zhruba pochopil)? Jak uchováváte stavy objektů, které potřebujete třeba na další stránku, v sessions? (Logicky usuzuji, že o tuto záležitost se pak třeba stará nějaký ten framework).

Děkuji za případné odpovědi.

Tomáš
CSS › Plovoucí prvky
28. 2. 2011   #139500

Jojo to mám, já to sem přepisoval zjednodušeně. Na tom řádku kde je clear, mám </div>

Tomáš
CSS › Plovoucí prvky
28. 2. 2011   #139488

Přiložil jsem další obrázek - kompletní stránky. Teď mi to docvaklo, že to bude ještě právě tím okolím. Nikde nastavený height nemám, ale h1 odskakuje právě tam kde mi končí menu vlevo a to asi protože navigace vlevo má pevnou šířku a float left, panel vpravo (tam teď nic není) má float right a pevnou šířku. No a přestože to co já chci je v několika divech uprostřed, a mám tam clear both, tak se to zarovná po poslední float prvek, což je právě to menu vlevo. Tak to je docela blbý. Nevíš co s tím?

H1 chci až za to šedý, ale potřebuju aby to šedé mělo minimální height.

Tomáš
CSS › Plovoucí prvky
28. 2. 2011   #139485

Zdravím vás, potřeboval bych poradit jak na plovoucí prvky.

Mám CSS:



.clear_both{clear:both;}
.podkategorie{}

.podkategorie-inner{background-color: rgb(200,200,200);}

.podkategorie-bunka{
float: left;
width: 220px;
padding: 2px;
display: inline;}

.podkategorie-bunka a{display: block;}


HTML:
Tento kód mám uprostřed stránky v divu "hlavní" nebo tak něco:
<div class="podkategorie">

<div class="podkategorie-inner">
<div class="podkategorie-bunka">text</div>
...
<div class="podkategorie-bunka">text</div>
<div class="clear_both">
</div>
</div>
<h1>Nějaký text</h1>


No a ono to nefunguje. Prvky .podkategorie-bunka se mi sice rovanjí za sebe a hezky překakují, ale nadpis h1 je pak hrozně odskočenej dolů. Viz. obrázek.
Když tam clear nedám, tak se samozřejmě začne h1 psát hned za ten poslední blok, což nehci.

Prosím poraďte co s tím? (pokud je to alespoň trochu pochopitelné) Díky.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý