Quick Start VI. a registerFilter
- bfx
- Člen | 12
Natrafil som nahodou na nento framework tak ze si ho vyskusam siel som
podla
Quick Start no skoncil som na registerFilter. Tu je DefaultPresenter.
<?php
class DefaultPresenter extends /*Nette\Application\*/Presenter
{
protected $db;
protected function startup()
{
require_once LIBS_DIR . '/dibi/dibi.php';
$this->db = new DibiConnection(array(
'driver' => 'mysql',
'host' => 'localhost',
'username' => 'xoops',
'password' => '***********',
'database' => 'xoops',
));
}
public function renderDefault()
{
$this->template->tables = $this->db->getDatabaseInfo()->getTableNames();
}
public function renderTable($table)
{
$rowset = $this->db->query('SELECT * FROM %n', $table);
$this->template->table = $table;
$this->template->rows = $rowset->fetchAll();
$this->template->columns = $rowset->getColumnNames();
}
}
?>
Hadze mi to
Server Error
The server encountered an internal error and was unable to complete your
request. Please try again later.
Soudruzi poradite kde je problem? :)
Editoval bfx (30. 4. 2009 14:30)
- bfx
- Člen | 12
Neladim lokalne rovno si to hadzem na hosting co mam zaplateny. http://test.eternal.sk/…ot/index.php
- jasir
- Člen | 746
bfx napsal(a):
Neladim lokalne rovno si to hadzem na hosting co mam zaplateny. http://test.eternal.sk/…ot/index.php
No, když myslíš… ;) Stejně ale vyzkoušej to co jsem psal o jeden příspěvek výše.
- bfx
- Člen | 12
jasir napsal(a):
bfx napsal(a):
Neladim lokalne rovno si to hadzem na hosting co mam zaplateny. http://test.eternal.sk/…ot/index.php
No, když myslíš… ;) Stejně ale vyzkoušej to co jsem psal o jeden příspěvek výše.
Skusil som to hodit do index.php
<?php
Environment::setMode(Environment:DEVELOPMENT);
Debug::enable(Debug:DEVELOPMENT);
// absolute filesystem path to the web root
define('WWW_DIR', dirname(__FILE__));
// absolute filesystem path to the application root
define('APP_DIR', WWW_DIR . '/../app');
// absolute filesystem path to the libraries
define('LIBS_DIR', WWW_DIR . '/../libs');
// load bootstrap file
require APP_DIR . '/bootstrap.php';
?>
Vysledok> Parse error: syntax error, unexpected ‚:‘ in /home/html/eternal.sk/public_html/_sub/test/document_root/index.php on line 2
- bfx
- Člen | 12
jasir napsal(a):
Aha, sorry, překlep. A nech to v tom bootstrap.php až po
natažení nette loaderu. (jinak Environment ani Debug nebudou natažený)<?php Environment::setMode(Environment::DEVELOPMENT); Debug::enable(Debug::DEVELOPMENT); ?>
Fatal error: Class ‚Environment‘ not found in /home/html/eternal.sk/public_html/_sub/test/app/bootstrap.php on line 2
- bfx
- Člen | 12
jasir napsal(a):
Tak sem dej asi celý bootstrap.php
tu je
<?php
Environment::setMode(Environment::DEVELOPMENT);
Debug::enable(Debug::DEVELOPMENT);
// Step 1: Load Nette Framework
// this allows Nette to load classes automatically so that
// you don't have to litter your code with 'require' statements
require_once LIBS_DIR . '/Nette/loader.php';
// Step 2: Enable Nette\Debug
// for better exception and error visualisation
Debug::enable();
// Step 3: Get the front controller
$application = Environment::getApplication();
// Step 4: Run the application!
$application->run();
?>
a skusal som to aj takto
<?php
// Step 1: Load Nette Framework
// this allows Nette to load classes automatically so that
// you don't have to litter your code with 'require' statements
require_once LIBS_DIR . '/Nette/loader.php';
Environment::setMode(Environment::DEVELOPMENT);
Debug::enable(Debug::DEVELOPMENT);
// Step 2: Enable Nette\Debug
// for better exception and error visualisation
Debug::enable();
// Step 3: Get the front controller
$application = Environment::getApplication();
// Step 4: Run the application!
$application->run();
?>
a znova Server Error
The server encountered an internal error and was unable to complete your
request. Please try again later.
tu je to komplet ako to mam http://test.eternal.sk/TestNette.rar
Editoval bfx (30. 4. 2009 15:45)
- Ola
- Člen | 385
Přečti si pořádně ten příspěvek od jasira – https://forum.nette.org/…iewtopic.php?…
Editoval Ola (30. 4. 2009 16:04)
- jasir
- Člen | 746
Zkus bootstrap.php:
<?php
// Step 1: Load Nette Framework
// this allows Nette to load classes automatically so that
// you don't have to litter your code with 'require' statements
require_once LIBS_DIR . '/Nette/loader.php';
$loader = new /*Nette\Loaders\*/RobotLoader();
$loader->addDirectory(APP_DIR);
$loader->addDirectory(LIBS_DIR); //
$loader->autoRebuild=TRUE;
$loader->register();
// Step 2: Enable Nette\Debug
// for better exception and error visualisation
Environment::setMode(Environment::DEVELOPMENT);
Debug::enable(Debug::DEVELOPMENT);
// Step 3: Get the front controller
$application = Environment::getApplication();
// Step 4: Run the application!
$application->run();
?>
a presenter
<?php
class DefaultPresenter extends /*Nette\Application\*/Presenter
{
protected $db;
protected function startup()
{
$this->db = new DibiConnection(array(
'driver' => 'mysql',
'host' => 'localhost',
'username' => 'xoops',
'password' => 'xoops666',
'database' => 'xoops',
));
}
public function renderDefault()
{
$this->template->tables = $this->db->getDatabaseInfo()->getTableNames();
}
public function renderTable($table)
{
$rowset = $this->db->query('SELECT * FROM %n', $table);
$this->template->table = $table;
$this->template->rows = $rowset->fetchAll();
$this->template->columns = $rowset->getColumnNames();
}
}
?>
Změny :
- přidal jsem RobotLoader, kterej si dokáže natáhnout to dibi sám
- úprava pořadí bootstrap
- v presenteru vyhozený to require_once v metodě
- bfx
- Člen | 12
jasir napsal(a):
Zkus bootstrap.php:
<?php // Step 1: Load Nette Framework // this allows Nette to load classes automatically so that // you don't have to litter your code with 'require' statements require_once LIBS_DIR . '/Nette/loader.php'; $loader = new /*Nette\Loaders\*/RobotLoader(); $loader->addDirectory(APP_DIR); $loader->addDirectory(LIBS_DIR); // $loader->autoRebuild=TRUE; $loader->register(); // Step 2: Enable Nette\Debug // for better exception and error visualisation Environment::setMode(Environment::DEVELOPMENT); Debug::enable(Debug::DEVELOPMENT); // Step 3: Get the front controller $application = Environment::getApplication(); // Step 4: Run the application! $application->run(); ?>
a presenter
<?php class DefaultPresenter extends /*Nette\Application\*/Presenter { protected $db; protected function startup() { $this->db = new DibiConnection(array( 'driver' => 'mysql', 'host' => 'localhost', 'username' => 'xoops', 'password' => '*******', 'database' => 'xoops', )); } public function renderDefault() { $this->template->tables = $this->db->getDatabaseInfo()->getTableNames(); } public function renderTable($table) { $rowset = $this->db->query('SELECT * FROM %n', $table); $this->template->table = $table; $this->template->rows = $rowset->fetchAll(); $this->template->columns = $rowset->getColumnNames(); } } ?>
Změny :
- přidal jsem RobotLoader, kterej si dokáže natáhnout to dibi sám
- úprava pořadí bootstrap
- v presenteru vyhozený to require_once v metodě
diki pomohli tie prava na temp este musim skusit tu ladenku , lebo sa mi zda ze nejako nefunguje.
- nAS
- Člen | 277
bfx napsal(a):
diki pomohli tie prava na temp este musim skusit tu ladenku , lebo sa mi zda ze nejako nefunguje.
Já to říkal :)
A laděnka je defaultně na ostrém serveru vypnutá (mělo by se ladit na lokále) a jak už psal jasir, tak se zapne tím:
Environment::setMode(Environment::DEVELOPMENT);
Debug::enable(Debug::DEVELOPMENT);