OSDN Git Service

Regular updates
[twpd/master.git] / wip / php.md
diff --git a/wip/php.md b/wip/php.md
new file mode 100644 (file)
index 0000000..3ba62cb
--- /dev/null
@@ -0,0 +1,109 @@
+---
+title: PHP
+category: PHP
+layout: 2017/sheet
+prism_languages: [php]
+---
+
+### Hello world
+
+#### hello.php
+
+```php
+<?php
+function greetMe($name) {
+  return "Hello, " . $name . "!";
+}
+
+$message = greetMe($name);
+echo $message;
+```
+
+All PHP files start with `<?php`.
+
+See: [PHP tags](http://php.net/manual/en/language.basic-syntax.phptags.php)
+
+### Objects
+
+```php
+<?php
+
+$fruitsArray = array(
+  "apple" => 20,
+  "banana" => 30
+);
+echo $fruitsArray['banana'];
+```
+
+Or cast as object
+
+```php
+<?php
+
+$fruitsObject = (object) $fruits;
+echo $fruitsObject->banana;
+``` 
+
+### Inspecting objects
+
+```php
+<?php
+var_dump($object)
+```
+
+Prints the contents of a variable for inspection.
+
+See: [var_dump](http://php.net/var_dump)
+
+### Classes
+
+```php
+class Person {
+    public $name = '';
+}
+
+$person = new Person();
+$person->name = 'bob';
+
+echo $person->name;
+```
+
+### Getters and setters
+
+```php
+class Person 
+{
+    public $name = '';
+
+    public function getName()
+    {
+        return $this->name;
+    }
+
+    public function setName($name)
+    {
+        $this->name = $name;
+        return $this;
+    }
+}
+
+$person = new Person();
+$person->setName('bob');
+
+echo $person->getName();
+```
+
+### isset vs empty
+```php
+
+$options = [
+  'key' => 'value',
+  'blank' => '',
+  'nothing' => null,
+];
+
+var_dump(isset($options['key']), empty($options['key'])); // true, false
+var_dump(isset($options['blank']), empty($options['blank'])); // true, true
+var_dump(isset($options['nothing']), empty($options['nothing'])); // false, true
+
+```