Chris@0
|
1 # Environment
|
Chris@0
|
2
|
Chris@0
|
3 This component provides functionality that helps writing PHP code that has runtime-specific (PHP / HHVM) execution paths.
|
Chris@0
|
4
|
Chris@0
|
5 [](https://packagist.org/packages/sebastian/environment)
|
Chris@0
|
6 [](https://travis-ci.org/sebastianbergmann/environment)
|
Chris@0
|
7
|
Chris@0
|
8 ## Installation
|
Chris@0
|
9
|
Chris@0
|
10 To add Environment as a local, per-project dependency to your project, simply add a dependency on `sebastian/environment` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on Environment 1.0:
|
Chris@0
|
11
|
Chris@0
|
12 {
|
Chris@0
|
13 "require": {
|
Chris@0
|
14 "sebastian/environment": "1.0.*"
|
Chris@0
|
15 }
|
Chris@0
|
16 }
|
Chris@0
|
17
|
Chris@0
|
18 ## Usage
|
Chris@0
|
19
|
Chris@0
|
20 ```php
|
Chris@0
|
21 <?php
|
Chris@0
|
22 use SebastianBergmann\Environment\Runtime;
|
Chris@0
|
23
|
Chris@0
|
24 $runtime = new Runtime;
|
Chris@0
|
25
|
Chris@0
|
26 var_dump($runtime->getNameWithVersion());
|
Chris@0
|
27 var_dump($runtime->getName());
|
Chris@0
|
28 var_dump($runtime->getVersion());
|
Chris@0
|
29 var_dump($runtime->getBinary());
|
Chris@0
|
30 var_dump($runtime->isHHVM());
|
Chris@0
|
31 var_dump($runtime->isPHP());
|
Chris@0
|
32 var_dump($runtime->hasXdebug());
|
Chris@0
|
33 var_dump($runtime->canCollectCodeCoverage());
|
Chris@0
|
34 ```
|
Chris@0
|
35
|
Chris@0
|
36 ### Output on PHP
|
Chris@0
|
37
|
Chris@0
|
38 $ php --version
|
Chris@0
|
39 PHP 5.5.8 (cli) (built: Jan 9 2014 08:33:30)
|
Chris@0
|
40 Copyright (c) 1997-2013 The PHP Group
|
Chris@0
|
41 Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
|
Chris@0
|
42 with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
|
Chris@0
|
43
|
Chris@0
|
44
|
Chris@0
|
45 $ php example.php
|
Chris@0
|
46 string(9) "PHP 5.5.8"
|
Chris@0
|
47 string(3) "PHP"
|
Chris@0
|
48 string(5) "5.5.8"
|
Chris@0
|
49 string(14) "'/usr/bin/php'"
|
Chris@0
|
50 bool(false)
|
Chris@0
|
51 bool(true)
|
Chris@0
|
52 bool(true)
|
Chris@0
|
53 bool(true)
|
Chris@0
|
54
|
Chris@0
|
55 ### Output on HHVM
|
Chris@0
|
56
|
Chris@0
|
57 $ hhvm --version
|
Chris@0
|
58 HipHop VM 2.4.0-dev (rel)
|
Chris@0
|
59 Compiler: heads/master-0-ga98e57cabee7e7f0d14493ab17d5c7ab0157eb98
|
Chris@0
|
60 Repo schema: 8d6e69287c41c1f09bb4d327421720d1922cfc67
|
Chris@0
|
61
|
Chris@0
|
62
|
Chris@0
|
63 $ hhvm example.php
|
Chris@0
|
64 string(14) "HHVM 2.4.0-dev"
|
Chris@0
|
65 string(4) "HHVM"
|
Chris@0
|
66 string(9) "2.4.0-dev"
|
Chris@0
|
67 string(42) "'/usr/local/src/hhvm/hphp/hhvm/hhvm' --php"
|
Chris@0
|
68 bool(true)
|
Chris@0
|
69 bool(false)
|
Chris@0
|
70 bool(false)
|
Chris@0
|
71 bool(true)
|
Chris@0
|
72
|