CS267
Chris Pollett
Sep 26, 2018
class MyClass { public $field_var1; public $field_var2 = 5; ... const $constant1; const $constant2; ... function __construct($arg1, $arg2) { //constructor code } function myFun1() { // code } ... }
require "MyClass.inc"; //or more likely require_once "MyClass.inc";
public $my_variable = 0;
function __construct($n=0) { $this->my_variable = $n; }
public $my_field1; var $my_field2; private $my_field3; protected function myMethod() { /* some code*/}
class Foo{ static $bob=1;} echo "bob: ".Foo::$bob;
class Goo{ const BLOB=1;}
Goo::BLOB
define("PI", 22/7); echo PI;
namespace TheNameOfMyNamespace; // code for namespace class A { //code for class A } function foo() { }This declaration with the same name can be at the top of multiple files if you would like to group the contents of these files into the same namespace.
namespace TheNameOfMyNamespace\MySubNameSpace; //code
namespace D { // code for D } namespace E { // code for E }
namespace N; function foo() { //some code } foo(); //assume N namespace.
M\foo(); /*in context of above we are in N namespace already, so M\foo() means the foo() in N\M namespace. */ \N\M\foo(); \time(); //time function in the global (default) namespace.
use A\B\C; //rather than typing A\B\C\foo(); could type foo(); use D\E\F as G; //rather than typing D\E\F\goo(); could type G\goo();
namespace seekquarry\yioop;
namespace seekquarry\yioop\models;
if (file_exists(__DIR__."/../../vendor/autoload.php")) { require_once __DIR__."/../../vendor/autoload.php"; } else { spl_autoload_register(function ($class) { // project-specific namespace prefix $prefix = 'seekquarry\\yioop\\tests'; // does the class use the namespace prefix? $len = strlen($prefix); if (strncmp($prefix, $class, $len) !== 0) { $prefix = 'seekquarry\\yioop'; $len = strlen($prefix); // no, move to the next registered autoloader if (strncmp($prefix, $class, $len) !== 0) { return; } else { $check_dirs = [WORK_DIRECTORY . "/app", BASE_DIR]; } } else { $check_dirs = [PARENT_DIR . "/tests"]; } // get the relative class name $relative_class = substr($class, $len); // use forward-slashes, add ./php $unixify_class_name = "/".str_replace('\\', '/', $relative_class) . '.php'; foreach($check_dirs as $dir) { $file = $dir . $unixify_class_name; if (file_exists($file)) { require $file; break; } } }); }
composer some_directive_for_composer
{ "name": "your_vendor_name/your_project", "description": "put what your project is about here", "authors": [ { "name": "Your Full Name", "email": "Where@to_contact.you" } ], "config": { "secure-http": false }, "require": { "seekquarry/yioop": ">=3.3.0" } }
namespace cpollett\test_composer; use seekquarry\yioop\configs as SYC; use seekquarry\yioop\library as SYL; use seekquarry\yioop\library\PhraseParser; require_once "vendor/autoload.php"; print_r(PhraseParser::stemTerms("jumping", 'en-US')); echo SYL\crawlHash(SYC\NAME_SERVER . "1234");
composer installIf you want to update composer projects later you type:
composer update
php index.phpto execute out project. It should output:
Array ( [0] => jump ) joQWpC4Sdy4