zpracování dat z ARESu – prosba o radu
- enumag
- Člen | 2118
Nejlépe nějaký XML parser, co taky jiného. Na webu jich je hromada a jeden je i přímo v PHP.
Nalej tam benzin nebo naftu, podle toho co tvé auto chce. Na čerpacích stanicích máš i na výběr. :-)
- stefi023
- Člen | 71
Kdysi jsem to zkousel nejak takto…
private function getCompanyData($ico) {
$path = 'http://wwwinfo.mfcr.cz/cgi-bin/ares/darv_bas.cgi?ico=%ico';
$path = str_replace('%ico', $ico, $path);
if ($path)
try {
$xml = @new \SimpleXMLElement($path, null, true);
$a = array();
if ($xml) {
$ns = $xml->getDocNamespaces();
$data = $xml->children($ns['are']);
$el = $data->children($ns['D'])->VBAS;
if (strval($el->ICO) == $ico) {
$a['ic'] = strval($el->ICO);
$a['dic'] = strval($el->DIC);
$a['firma'] = strval($el->OF);
if($el->AA) {
$a['ulice'] = strval($el->AA->NU) . ' ' . strval($el->AA->CO);
$a['mesto'] = strval($el->AA->N);
$a['psc'] = strval($el->AA->PSC);
}
else {
$a['ulice'] = '';
$a['mesto'] = '';
$a['psc'] = '';
}
return $a;
} else
return null;
} else
return false;
} catch (\Exception $e) {
return false;
}
}
Bude to ale potreba trochu poucesat, poladit, pripadne vychytat spravne vyjimky atd… nehlede na to ze by to mohla byt krasna sluzba dle vzoru DI
A kdyz nemas benzin, ani naftu, dej tam treba kecup :)
Editoval stefi023 (8. 3. 2013 15:43)
- MW
- Člen | 626
pekelnik napsal(a):
Prosím, má někdo zkušenost nebo radu, jak by šlo opravit motor z auta?
Motor ze zadaneho auta je bud benzin nebo diesel…Co by jste na to nejlépe pouzili?
Potrebuji to opravit a pripadne odvezt do garaze.
Predem dekuji za radu.
Nebylo to trochu zbytecny ;)
Prece kdyz nevis na co jsem se ptal nebo nechces odpovedet tak neodpovidej.
- buffus
- Člen | 101
PHP/5.3.18 | Nette Framework 2.0.10 | h4kuna/ares
Ahoj, prosím o začátečnickou radu. Přidal jsem do aplikace h4kuna/ares, (velmi pěkné, díky), ale neumím získat data z pole data objektu \h4kuna\Ares\Data, patrně proto, že je objekt v jiném jmenném prostoru.
$ares = new \h4kuna\Ares();
$answer = $ares->loadData('27074358'); // return object \h4kuna\Ares\Data
dump($answer);
vrátí
h4kuna\Ares\Data(1) {
data private => array(10) {
in => "27074358" (8)
tin => "CZ27074358" (10)
vat_pay => "1"
city => "Praha" (5)
company => "Asseco Central Europe, a.s." (27)
street => "Budějovická 778" (17)
zip => "14000" (5)
active => TRUE
file_number => "B 8525" (6)
court => "Městský soud v Praze" (22)
}
}
ale když přidám:
$onlycity = $answer->data['city'];
hlásí laděnka
Cannot read an undeclared property h4kuna\Ares\Data::$data.
Zkoušel jsem přidat use h4kuna\Ares\Data;
, ale nepomohlo.
- h4kuna
- Backer | 740
ArrayAccess bych mohl dodělat. Jde o to že né každý využije klíčové pojmenování které tam je, takže toArray má parametr do kterého si definuješ překladové pole (‚original‘ ⇒ ‚nový klíč‘) a zároveň to funguje jako průnik tvého pole a toho co to vrací.
Editoval h4kuna (16. 3. 2013 6:40)
- buffus
- Člen | 101
Super. Dík. Ještě jsem si taky v Get podmínil
...
->setTIN($el->DIC)
...
aby se u vraceného pole negenerovaly klíče tin
a
vat_pay
s prázdnou hodnotou, pokud subjekt není plátce a
výstupní chování bylo stejné jako u subjektů nezapsaných v obchodním
rejstříku (tj. negenerují se klíče file_number
atd.). Ale to
je taky asi co jak komu vyhovuje.
- walkercz
- Člen | 9
Bylo by možné nahodit i verzi pro nette bez namespace pro php 5.2 s prexify? Snažím se to předělat, ale bohužel zasekl sem se na kousíčku v get.php
81 $this->IN = new \h4kuna\Int($inn);
kde i po odstranění \h4kuna\ class Int() nějak ne a ne existovat :D Věřím, že by to netrvalo moc dlouho. Díky předem za snahu/rady.
- raketoplan2005
- Člen | 147
Ahoj, stáhl jsem si aktuální master a dostávám chybu na řádce 79 v
\vendor\h4kuna\ares\Ares\Data.php
, konkrétně:
Recoverable Error
Object of class DateTime could not be converted to string
Čistý sandbox nette, jen přes composer stažena aktuální verze doplňku.