Různorodé problémy s Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Fabi
Člen | 5
+
0
-

Zdravím, začal jsem asi před 2 dny v Nette, všechno šlo dobře až do chvíle, kdy se mě najednou nezačali aktualizovat stránky, např. na stránce jsem se přepsal v názvu proměnné, poté jsem to opravil a úspěšně nahrál a přitom mě debug stále hlásil, že tam ta chyba je, to se dělo i po smazání souboru s chybou. Cache jsem vymazal, zkoušel jsem i více prohlížečů, které jsem taky vyčistil, nakonec jsem počkal dokonce den a stále nic. Takže čim může být problém jako tento způsobený a řešitelný? Děkuji za veškerou pomoc.

Mariocz
Člen | 52
+
0
-

Furt tam někde ta chyba je. Není tam proměnná 2x? Neodstranil jsi chybu v nějaký kopii? na localhostu ti to funguje?

Fabi
Člen | 5
+
0
-

Když ten soubor(s chybou) odstraním, tak tam ta chyba logicky být nemůže a musí to vyhodit jinou chybu, z toho plyne, že chyba tam opravdu není.

Tomáš Kolinger
Člen | 136
+
0
-

Musíš bejt konkrétní. Jaká chyba, šablona či presenter, localhost či na hostingu? Používáš nějaké jiné kešování (např. na straně webserveru) či nějaký accelerator?

Tak i tak to co popisuješ je nesmysl a IMHO na to koukáš špatně a měníš jiný soubor, než který si myslíš, že měníš. Tj. třeba máš tu šablonu 2× a měníš tu která se v systému vůbec nepoužívá… Pokud šablonu smažeš, tak je smazaná a neexistuje tu žádná možnost, aby se systém choval jako kdyby tam byla. To prostě nejde.

Jinak taktika „počkám, ono se to opraví samo“ mě celkem pobavila :D. To mě nikdy nenapadlo ale nemyslím si, že by to něco mohlo vyřešit :D.

Editoval Tomáš Kolinger (6. 4. 2014 12:24)

Fabi
Člen | 5
+
0
-

Nevím co je furt nejasné z toho co jsem napsal nvm, dobře budu konktérnější:

Úspěšně si předávám formulář z SignInForm.php do presenteru z presenteru do šablony a tam vše vykreslím taktéž úspěšně.

LogInForm.php:

<?php

namespace App\Presenters;

use Nette\Application\UI,
    Nette\ComponentModel\IContainer;

class LogInForm extends UI\Form
{
    public function __construct(IContainer $parent = NULL, $name = NULL)
    {
        parent::__construct($parent, $name);
        $this->addText('email', NULL)
        ->setAttribute('placeholder', 'Email')
        ->setRequired('Musíte zadat email.');

        $this->addText('reemail', NULL)
        ->setAttribute('placeholder', 'Email')
        ->setRequired('Musíte zadat email.');

        $this->addPassword('password', NULL)
        ->setAttribute('placeholder', 'Heslo')
        ->setRequired('Musíte zadat heslo.');

        $this->addSubmit('send', 'Přihlásit se');
    }
}

Konkrétně jsem tam měl předtím AddCheckBox místo reemailu, to jsem měnil jen vzhledem k testování, když to všechno úspěšně nahraju a né nedávám něco jinam, žádný přepisy atd.. píše to: že nezná prvek remail a nemůže ho vykreslit.

Formulář si v šabloně úspěšně vykreslím bez reemail:

{form logInForm}
	{input email} {input password} {input send}
{/form}

Když přidám, tak prvek „remail“ nezná

{input reemail}

Edit: taktika počkej a ono se to vyřeší opravdu funguje, tohle se mě stalo již po třetí, někdy náhodně se to prostě rozjede, ale jak nahrávám znova další soubory, tentýž problém akorát s jiným souborem, co se prostě nechce aktualizovat, tzn. že momentálně jsem úspěšně vykreslil formulář i s „reemail“, ale problém příjde znova někde jinde.

Edit2: jen tak pro zajímavost jsem nyní když to jede(jelo), zkoušel změnit název" reemail" jak v šabloně tak v formuláři na „remember“ a opět hází chybu, že neexistuje, ovšem když už to mám onen prvek v LogInForm.php přejmenovaný na „remember“ a v šabloně si vypíšu {input reemail} stále funguje, a ne, opravdu jsem nezapoměl něco přeuložit a přepsat.

Editoval Fabi (6. 4. 2014 12:52)

Mariocz
Člen | 52
+
0
-

Po posledním příspěvku už vůbec netuším jestli je něco špatně nebo ne.

Podle editu2 to vypadá na nějaký nemocný cachování ale v tom se teda moc nevyznám. Kam to konkrétně nahráváš?

Každopádně zásadní chyba je nepsat app na localhostu – Podle nějakýho tutoriálu si rozjeď u sebe Apache, php (nezapomeň doinstalovat a zapnout mod_rewrite) případně databázi.

Fabi
Člen | 5
+
0
-

Základní chyba je psát cokoli s nette na localhostu, ať se to týká funkčnosti, konfigurace php, case sensitive etc.., jsou s tím pak jen samé problémy. Běží to na wedosu. Další věc ke které jsem se chtěl dostat jsem na nejnovější verzi Nette a chtěl jsem vypnout cachování, šel jsem podle různých návodů, ale ani jeden se nezdá být funkčí. Ale toto se týká více věcí, protože jako vpodtatě úplný začátečník se nemám skoro od čeho odpíchnout, protože plno věcí je 4 a více roku zastaralých, co se týče diskuzí a api taky není nejideálnější?, proto nevím kde ani hledat „pravdivé“ nebo spíš aktuální informace.

Editoval Fabi (6. 4. 2014 13:12)

Mysteria
Člen | 797
+
0
-

Proč by měla bejt chyba cokoliv s Nette psát na localhostu? Vyvíjím tak několik projektů a nikdy nebyl žádnej problém. Problémy jsou pak spíš na straně hostingů, že mají divný nebo hodně restriktivní nastavení, než já mám na lokále (což vyřešilo pořízení VPS místo webhostingu).

Aktuální by měl bejt anglickej Quickstart a vlastně celkově anglická část webu (minimálně Nette\Database).

Fabi
Člen | 5
+
0
-

Jak říkáš " Problémy jsou pak spíš na straně hostingů, že mají divný nebo hodně restriktivní nastavení" proto volím rovnou hosting, kde mě to jede dobře, až na ten problém teď, nevím proč to začalo dělat až po 2 dnech, každopádně můžeš mě tedy poradit, jak vypnout cachování v nejnovější verzi nette ?

Mysteria
Člen | 797
+
0
-

To ti neporadím, protože jsem to nikdy nepotřeboval, ale pokud to uděláš, tak tím rapidně zpomalíš aplikaci.

Filip Procházka
Moderator | 4668
+
0
-

Vyvíjet na hostingu je ta největší prasárna.

Nainstaluj si na localhostu webserver a vyvíjej na localhostu. Po dvou či třech webech už si vychytáš rozdíly mezi hostingy a budeš se automaticky vyhýbat problémovým věcem.

Mezitím budeš mít pár drobných zaškobrtnutí kterými si musí projít každý dobrý vývojář a s kterými ti klidně poradíme, chybami se člověk učí.

Očekávám že už ti tady nikdo nebude radit jak vyvíjet na hostingu, protože takový prasárny dobří vývojáři nedělají!

Šaman
Člen | 2659
+
0
-

Dobré je taky mít projekt na GitHubu/BitTrackeru, nebo podobném serveru. To chování které popisuješ je divné, chtba asi nebude přímo ve formuláři, nebo jeho šabloně, podle mě máš někde něco špatně nastavené. Pokud budeš mít zdrojáky veřejné, tak je šance, že se na to někdo podívá.
Jen pro jistotu, RequirementChecker ti proběhne baz problémů? (Tj. max nějaké žluté věci v duhé půlce tabulky.)
Jinak vývoj na localu je výrazně jednodušší, jen je potřeba dodržovat case sensitive v názvech souborů. Já mám dobré zkušenosti s XAMPP. Na vzdáleném (nikoliv produkčním!) serveru jsem vyvíjel jen jednou a i s podporou IDE to byl docela opruz. Programování třeba přes FTP je naprostý masochismus.

Etch
Člen | 403
+
0
-

Fabi napsal(a):

Jak říkáš " Problémy jsou pak spíš na straně hostingů, že mají divný nebo hodně restriktivní nastavení" proto volím rovnou hosting, kde mě to jede dobře, …

A co ti brání si na localhostu udělat stejné nastavení jako je na produkčním serveru??? Osobně mám na localhostu X nastavení a přepínám je podle projektu. Vyvíjet na hostingu je prostě úlet…

Fabi napsal(a):

jen tak pro zajímavost jsem nyní když to jede(jelo), zkoušel změnit název" reemail" jak v šabloně tak v formuláři na „remember“ a opět hází chybu, že neexistuje, ovšem když už to mám onen prvek v LogInForm.php přejmenovaný na „remember“ a v šabloně si vypíšu {input reemail} stále funguje, a ne, opravdu jsem nezapoměl něco přeuložit a přepsat.

No ono také jde o to, jestli jsi „opravdu nezapomněl něco smazat“… Tyhle parády, kdy to hledá něco co už v šabloně není, bych viděl na problém nesmazaného tempu při deployi.

Osobně bych si tipnul, že máš sice krásně přepsané šablony a celej formulář, ale v tempu ti prostě zůstává dříve převedená šablona (latte → php), a proto to hledá věci, které už tam dávno nemáš.

Editoval Etch (6. 4. 2014 16:06)