PHP
PHP is a popular general-purpose scripting language that is especially suited to web development.
Console hello world
- php php_echo.php
- chmod 755 php_echo.php
- ./php_echo.php
syslog
Generate a system log message
Log levels and files in operative systems
OS |
File |
Logged levels |
Slack64 14 |
/var/log/messages |
INFO |
Slack64 14 |
/var/log/syslog |
WARNING ERR CRIT |
CentOS 6.4 |
/var/log/messages |
INFO WARNING ERR CRIT |
Ubuntu 12.04 Precise |
/var/log/syslog |
DEBUG INFO WARNING ERR CRIT |
Debian 7.0 Wheezy |
/var/log/syslog |
DEBUG INFO WARNING ERR CRIT |
array
Create an array {{{!highlight php <?php $fruits = array (
"fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third")
);
$foo = array('bar' => 'baz'); echo "Hello {$foo['bar']}!"; // Hello baz! ?> }}}
array_push
Push one or more elements onto the end of array
count
Count all elements in an array, or something in an object
intval
Get the integer value of a variable
sprintf
Return a formatted string
str_replace
Replace all occurrences of the search string with the replacement string
Class
1 <?php
2 class SimpleClass
3 {
4 // property declaration
5 public $var = 'a default value';
6
7 // method declaration
8 public function displayVar() {
9 echo $this->var;
10 }
11 }
12
13 class Foo
14 {
15 public static $my_static = 'foo';
16
17 public function staticValue() {
18 return self::$my_static;
19 }
20 }
21 class Bar extends Foo
22 {
23 public function fooStatic() {
24 return parent::$my_static;
25 }
26 }
27
28 class Foo {
29 public static function aStaticMethod() {
30 // ...
31 }
32 }
33
34 class MyClass
35 {
36 const CONSTANT = 'constant value';
37
38 function showConstant() {
39 echo self::CONSTANT . "\n";
40 }
41 }
42
43 class MyClass
44 {
45 public $public = 'Public';
46 protected $protected = 'Protected';
47 private $private = 'Private';
48
49 function printHello()
50 {
51 echo $this->public;
52 echo $this->protected;
53 echo $this->private;
54 }
55 }
56
57 ?>
Predefined variables
- $GLOBALS
- $_SERVER
- $_GET
- $_POST
- $_COOKIE
- $_FILES
- $_ENV
- $_REQUEST
- $_SESSION
foreach
$listx = array(10,11,12); foreach($listx as $itemx){ print("Itemx: $itemx "); } $listassocx = array('ten'=>10,'eleven'=>11,'twelve'=>12); foreach($listxassocx as $keyx=>$valx){ print("Itemx: $keyx: $valx "); }
explode
Split a string by string
preg_split
Split the given string by a regular expression
file_get_contents
Reads entire file into a string
DOMDocumentDOMDocument::loadXML
Load XML from a string
CORS (cross origin resource sharing)
read.example.org/index.php
1 <?php
2 header("Content-type:application/json");
3 header("Cache-Control: no-cache");
4 header("Pragma: no-cache");
5 header("Access-Control-Allow-Origin: " . $_SERVER['HTTP_ORIGIN'] );
6 header("Access-Control-Allow-Credentials: true");
7 session_start();
8 $user = $_SESSION["user"];
9
10 echo("{\"key\":\"readData\" , \"user\": \"" . $user . "\" }");
11 ?>
auth.example.org/index.php
1 <?php
2 header("Content-type:application/json");
3 header("Cache-Control: no-cache");
4 header("Pragma: no-cache");
5 header("Access-Control-Allow-Origin: " . $_SERVER['HTTP_ORIGIN']);
6 header("Access-Control-Allow-Credentials: true");
7
8 session_set_cookie_params(0, '/', '.example.org');
9 session_start();
10
11 $_SESSION["user"] = "userx " . time();
12
13 echo("{\"key\":\"authData\"}");
14 ?>
app.example.org/index.html
1 <html>
2 <head>
3 <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
4
5 <script>
6 $(document).ready(function(){
7 console.log('Iooo');
8
9 $.ajax({
10 url: "http://auth.example.org/",
11 xhrFields: { withCredentials: true },
12 success: function(data, textStatus,jqXHR ){ $("#auth").text(data.key); },
13 error: function( jqXHR, textStatus, errorThrown ){console.log(textStatus);}
14 });
15
16 $.ajax({
17 url: "http://read.example.org/",
18 xhrFields: {withCredentials: true},
19 success: function(data,textStatus,jqXHR){ $("#read").text(data.key + ' ' + data.user ); },
20 error: function( jqXHR, textStatus, errorThrown ){console.log(textStatus);}
21 });
22
23 });
24
25 </script>
26 </head>
27 <body>
28 <p id="auth"></p>
29 <p id="read"></p>
30 </body>
31 </html>
vhosts
<VirtualHost *:80> ServerName app.example.org DocumentRoot "/var/www/htdocs/app.example.org" <Directory "/var/www/htdocs/app.example.org"> Require local AllowOverride All </Directory> </VirtualHost> <VirtualHost *:80> ServerName auth.example.org DocumentRoot "/var/www/htdocs/auth.example.org" <Directory "/var/www/htdocs/auth.example.org"> Require local AllowOverride All </Directory> </VirtualHost> <VirtualHost *:80> ServerName read.example.org DocumentRoot "/var/www/htdocs/read.example.org" <Directory "/var/www/htdocs/read.example.org"> Require local AllowOverride All </Directory> </VirtualHost>
Enable PHP in Slackware64
1 # enable line /etc/httpd/httpd.conf
2 sed -i 's/#Include \/etc\/httpd\/mod_php.conf/Include \/etc\/httpd\/mod_php.conf/g' httpd.conf
3
4 #update mod_php.conf to point to the right path of libphp5.so
5 LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so
6 <FilesMatch \.php$>
7 SetHandler application/x-httpd-php
8 </FilesMatch>
9 #restart httpd/apache
10 sh /etc/rc.d/rc.httpd restart
/var/www/htdocs/teste.php
/var/www/htdocs/log.php