You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+51-37Lines changed: 51 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,12 @@
26
26
27
27
An example project exists on the [neo4j github](https://github.com/neo4j-examples/movies-neo4j-php-client). It uses Slim and neo4j-php-client to build an API for the classic movie's example of neo4j.
28
28
29
+
### Follow along on the livestream
30
+
31
+
We are currently running a biweekly neo4j + laravel livestream were we are building the RealWorld example app.
32
+
33
+
The [github repostiory can be found here](https://github.com/neo4j-examples/php-laravel-neo4j-realworld-example), there are also [recordings](https://www.youtube.com/playlist?list=PL9Hl4pk2FsvViI9wmdDpRS7tZ8V6j4uJs). The live stream usually starts at 5 PM Brussels time on Wednesday, but you can [follow Florent on twitter](https://twitter.com/fbiville) for live updates in case the schedule changes.
34
+
29
35
## Start your driving experience in three easy steps
30
36
31
37
### Step 1: install via composer
@@ -44,7 +50,7 @@ use Laudis\Neo4j\ClientBuilder;
44
50
$client = ClientBuilder::create()
45
51
->withDriver('bolt', 'bolt+s://user:password@localhost') // creates a bolt driver
46
52
->withDriver('https', 'https://test.com', Authenticate::basic('user', 'password')) // creates an http driver
47
-
->withDriver('neo4j', 'neo4j://neo4j.test.com?database=my-database', Authenticate::kerberos('token')) // creates an auto routed driver
53
+
->withDriver('neo4j', 'neo4j://neo4j.test.com?database=my-database', Authenticate::oidc('token')) // creates an auto routed driver with an OpenID Connect token
48
54
->withDefaultDriver('bolt')
49
55
->build();
50
56
```
@@ -215,27 +221,32 @@ foreach ($results as $result) {
215
221
216
222
Cypher values and types map to these php types and classes:
(*) A point can be one of four types implementing PointInterface: `\Laudis\Neo4j\Types\CartesianPoint``\Laudis\Neo4j\Types\Cartesian3DPoint``\Laudis\Neo4j\Types\WGS84Point``\Laudis\Neo4j\Types\WGS843DPoint`
(*) These items can also be used as parameters in the bolt protocol and will automatically be converted by the driver, so they can be used in Cypher.
246
+
247
+
Besides these examples, `\DateTimeInterface` will map to `DateTimeZoneId` in Cypher. An empty or list-type `array` will be converted to a cypher `List`, and an `associative array` will be converted to a `map`.
248
+
249
+
(**) A point can be one of four types implementing PointInterface: `\Laudis\Neo4j\Types\CartesianPoint``\Laudis\Neo4j\Types\Cartesian3DPoint``\Laudis\Neo4j\Types\WGS84Point``\Laudis\Neo4j\Types\WGS843DPoint`
239
250
240
251
## Diving Deeper
241
252
@@ -278,11 +289,14 @@ $client->run('MATCH (x) WHERE x.slug in $listOrMap RETURN x', ['listOrMap' => []
278
289
* A Neo4j database (minimum version 3.5)
279
290
* ext-bcmath *
280
291
* ext-json **
292
+
* ext-sockets ***
281
293
282
294
(*) Needed to implement the bolt protocol
283
295
284
296
(**) Needed to implement the http protocol
285
297
298
+
(***) Can be installed for optimal bolt protocol performance
299
+
286
300
287
301
If you plan on using the HTTP drivers, make sure you have [psr-7](https://www.php-fig.org/psr/psr-7/), [psr-17](https://www.php-fig.org/psr/psr-17/) and [psr-18](https://www.php-fig.org/psr/psr-18/) implementations included into the project. If you don't have any, you can install them via composer:
0 commit comments