Skip to content

Commit add1131

Browse files
committed
#1 Initial support for optional throwing of Exception based on FlexiBee error response
1 parent e76b9a8 commit add1131

File tree

3 files changed

+376
-475
lines changed

3 files changed

+376
-475
lines changed

Examples/ErrorHandling.php

Lines changed: 40 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -15,48 +15,56 @@
1515
include_once './config.php';
1616
include_once '../vendor/autoload.php';
1717

18-
$invoicer = new FakturaVydana(['typDokl'=>'FAKTURA']); // "code:" is missing
18+
$invoicer = new FakturaVydana(['typDokl' => 'FAKTURA']); // "code:" is missing
1919

20-
if($invoicer->sync() === false){
20+
if ($invoicer->sync() === false) {
2121
$invoicer->lastResponseCode; // (int) 400
2222
$invoicer->lastCurlError; // empty in this case
2323
$invoicer->lastCurlResponse; // {"winstrom":{"@version":"1.0","success":"false","stats":{"created":"0","updated":"0","deleted":"0","skipped":"0","failed":"1"},"results":[{"errors":[{"message":"Je očekáváno číselné ID, ale 'FAKTURA' není číslo","for":"typDokl","path":"faktura-vydana[temporary-id=null].typDokl","value":"FAKTURA","code":"PROP"}]}]}}
2424
$invoicer->getErrors(); // array(1) (
25-
// [0] => array(5) (
26-
// [message] => (string) Je očekáváno číselné ID, ale 'FAKTURA' není číslo
27-
// [for] => (string) typDokl
28-
// [path] => (string) faktura-vydana[temporary-id=null].typDokl
29-
// [value] => (string) FAKTURA
30-
// [code] => (string) PROP
31-
// )
32-
// )
25+
// [0] => array(5) (
26+
// [message] => (string) Je očekáváno číselné ID, ale 'FAKTURA' není číslo
27+
// [for] => (string) typDokl
28+
// [path] => (string) faktura-vydana[temporary-id=null].typDokl
29+
// [value] => (string) FAKTURA
30+
// [code] => (string) PROP
31+
// )
32+
// )
3333
}
3434

3535

3636

3737
/* EASE_LOGGER: "console" print red/yellow lines:
38-
39-
php -f Examples/ErrorHandling.php
40-
03/21/20 03:29:47 `` ☠ Je očekáváno číselné ID, ale 'FAKTURA' není číslo
41-
03/21/20 03:29:47 `` ⚠ 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
42-
03/21/20 03:29:47 `` ☠ : Je očekáváno číselné ID, ale 'FAKTURA' není číslo for: typDokl value:FAKTURA code:PROP
43-
03/21/20 03:29:47 `` ⚙ {"for":"typDokl","path":"faktura-vydana[temporary-id=null].typDokl","value":"FAKTURA","code":"PROP"}
44-
03/21/20 03:29:47 `` ⚠ Error 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
45-
Done.
46-
*/
38+
39+
php -f Examples/ErrorHandling.php
40+
03/21/20 03:29:47 `` ☠ Je očekáváno číselné ID, ale 'FAKTURA' není číslo
41+
03/21/20 03:29:47 `` ⚠ 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
42+
03/21/20 03:29:47 `` ☠ : Je očekáváno číselné ID, ale 'FAKTURA' není číslo for: typDokl value:FAKTURA code:PROP
43+
03/21/20 03:29:47 `` ⚙ {"for":"typDokl","path":"faktura-vydana[temporary-id=null].typDokl","value":"FAKTURA","code":"PROP"}
44+
03/21/20 03:29:47 `` ⚠ Error 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
45+
Done.
46+
*/
4747

4848
/* EASE_LOGGER "syslog" add this to /var/log/syslog
49-
50-
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
51-
Mar 21 03:29:47 exiv FlexiPeeHPtest:
52-
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` Je očekáváno číselné ID, ale 'FAKTURA' není číslo
53-
Mar 21 03:29:47 exiv FlexiPeeHPtest:
54-
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` @@ {"for":"typDokl","path":"faktura-vydana[temporary-id=null].typDokl","value":"FAKTURA","code":"PROP"}
55-
Mar 21 03:29:47 exiv FlexiPeeHPtest:
56-
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` Error 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
57-
Mar 21 03:29:47 exiv FlexiPeeHPtest:
58-
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` : Je očekáváno číselné ID, ale 'FAKTURA' není číslo for: typDokl value:FAKTURA code:PROP
59-
Mar 21 03:29:47 exiv FlexiPeeHPtest:
60-
61-
*/
6249
50+
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
51+
Mar 21 03:29:47 exiv FlexiPeeHPtest:
52+
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` Je očekáváno číselné ID, ale 'FAKTURA' není číslo
53+
Mar 21 03:29:47 exiv FlexiPeeHPtest:
54+
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` @@ {"for":"typDokl","path":"faktura-vydana[temporary-id=null].typDokl","value":"FAKTURA","code":"PROP"}
55+
Mar 21 03:29:47 exiv FlexiPeeHPtest:
56+
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` Error 400: https://vitexsoftware.flexibee.eu:5434/c/flexipeehp/faktura-vydana
57+
Mar 21 03:29:47 exiv FlexiPeeHPtest:
58+
Mar 21 03:29:47 exiv FlexiPeeHPtest: ` ` : Je očekáváno číselné ID, ale 'FAKTURA' není číslo for: typDokl value:FAKTURA code:PROP
59+
Mar 21 03:29:47 exiv FlexiPeeHPtest:
60+
61+
*/
62+
63+
$invoicer = new FakturaVydana(['typDokl' => 'FAKTURA'], ['throwException' => true]); // "code:" is missing
64+
//Or define('FLEXIBEE_EXCEPTIONS',true);
65+
66+
try {
67+
$invoicer->sync();
68+
} catch (\Ease\Exception $exc) {
69+
echo $exc->getCode() . ': ' . $exc->getMessage();
70+
}

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ Konfigurace se provádí nastavením následujících konstant:
9999
* Pomalý server, velká databáze a přes modem k tomu
100100
*/
101101
define('FLEXIBEE_TIMEOUT', 60); //Volitelné
102+
/*
103+
* Pomalý server, velká databáze a přes modem k tomu
104+
*/
105+
define('FLEXIBEE_EXCEPTIONS', true); //Vracet PHP vyjímku v případě že FlexiBee vrátí chybu
102106
```
103107

104108
nebo je možné přihlašovací údaje zadávat při vytváření instance třídy.

0 commit comments

Comments
 (0)