Firebird a Nette – jak na to?
- Klainer
- Člen | 42
Dobrý den
Mám menší problém. Můj současný klient využívá jako databázový
server Firebird, chtěl bych se Vás zeptat jestli někde existuje nějaký
návod jak tento server rozjet s NETTE frameworkem, nic jsem zatím
nenašel.
V NETTE jsem začátečník a budu rád za Vaše rady a nápady.
Děkuji
- Klainer
- Člen | 42
Snažím se Nette propojit s nejnovějším DIBI, ale nejde mi to.
Postupuji dle návodu: https://doc.nette.org/cs/database#…
config.neon vypadá takhle:
common:
dibi:
host: localhost
username: root
password: ***
database: foo
lazy: TRUE
php:
date.timezone: Europe/Prague
# session.save_path: "%tempDir%/sessions"
# zlib.output_compression: yes
V bootstrap.php jsem přidal:
//Konfigurace Dibi
$configurator->onCompile[] = function ($configurator, $compiler) {
$compiler->addExtension('dibi', new DibiNetteExtension);
};
A vyhazuje mi to chybu :
Class ‚Nette\Config\CompilerExtension‘ not found search►
Source file ▼
File: …\libs\dibi\Nette\DibiNetteExtension.php Line: 22
Nevím si s tím rady, děkuji za rady !
Editoval Klainer (24. 6. 2012 14:23)
- Ondřej Altman
- Člen | 17
- máš v libs/dibi/Nette/ soubor DibiNetteExtension.php ?
- v bootstrapu require_once LIBS_DIR . ‚/dibi/dibi.php‘ ?
- Klainer
- Člen | 42
- Mám
- Jsem původně neměl, ale přidal jsem a nic …
// Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';
require_once LIBS_DIR . '/dibi/dibi.php';
// Configure application
$configurator = new Configurator;
//Konfigurace Dibi
$configurator->onCompile[] = function ($configurator, $compiler) {
$compiler->addExtension('dibi', new DibiNetteExtension);
};
edit: pro Majkl578: Rád bych využil novější verzi PHP, klient bohužel na svých serverech má verzi starší.
Editoval Klainer (24. 6. 2012 20:51)
- uestla
- Backer | 799
dibi.php
ručně vkládat nemusíš, pokud máš zapnutý a
nastavený RobotLoader (na což stále ještě nepadla odpověď…).
Máš-li Nette ve verzi pro PHP 5.2, bude to chtít ručně přejmenovat
právě onu problémovou třídu z Nette\Config\CompilerExtension
na NConfigCompilerExtension
.
Editoval uestla (24. 6. 2012 21:58)
- Klainer
- Člen | 42
Paráda měl jsi pravdu děkuji ti moc !
Chtěl bych se zeptat ještě na jednu drobnost.
Mám funkci, které předávám pole které vypadá takhle:
array(3) [
0 => "HODNOTAL1" (9)
1 => "HODNOTAL2" (9)
2 => "HODNOTAL3" (9)
]
Funkce vypadá takhle:
public static function getActual($polee)
{
$parametry = (join(",",$polee));
$aa = 'HODNOTAN1';
$pole = dibi::query('select %n from AKTUALNI_STAV_NADRZE WHERE ID = (SELECT MAX(ID) FROM AKTUALNI_STAV_NADRZE)', $parametry ); // když dám 'HODNOTAN1,HODNOTAN2,HODNOTAN3' tak to funguje
dump($pole);
$data = array();
foreach ($pole->fetchAll() as $row)
{
$data[1] = $row['HODNOTAN1'];
$data[2] = $row['HODNOTAN2'];
$data[3] = $row['HODNOTAN3'];
}
return $data;
}
Chci selektovat jen určité atributy, pole jsem si převedl na řetězec a dal jako parametr dibi dotazu, bohužel mi to za nic na světe nebere a píše to chybu:
Notice
Undefined property: DibiRow::$HODNOTAN1 search►
Source file ▼
File: ...\libs\dibi\libs\DibiRow.php Line: 126
116:
117: final public function offsetSet($nm, $val)
118: {
119: $this->$nm = $val;
120: }
121:
122:
123:
124: final public function offsetGet($nm)
125: {
126: return $this->$nm;
127: }
128:
Nevím co s tím děkuji za rady !