PHP(クラス)、vi
今日は、昨日に引き続きPHPはクラスでした。昨日自分の中で多少理解できたはずだったんですが、今日の授業で、はてなマークがめちゃめちゃ飛び出て、久々にわからなすぎてへこみました。
■PHP
クラスの便利な使い方として、
配列で深い階層になってしまうようなものでも、
クラスを入れ子構造にすることによってすぐ取り出せます。
例えば、こんな複雑な配列があるとします。
$company = array ( 'employees' => array ( 'employee' => array ( 'id' => 1, 'name' => 'obt' ), array ( 'id' => 2, 'name' => 'steps' ) ) );
もしここから、stepsをダイレクトにとりだそうとするとこうなる。
$company['employees']['employee'][1]['name']
目的の物を探すのにたくさんfor文を回さなければならない…これは面倒だよね…
っていうことで、クラスを使ってみよう!!
<?php //ファイル1(会社) class Company { private $employees; public function getEmployees() { return $this->employees; } public function getEmployee($name) { foreach ($this->employees as $employee) { if ($employee->getName() == $name) { return $employee; } } return false; } public function setEmployee($employee) { $this->employees[] = $employee; } } ?>
<?php //ファイル2(社員) class Employee { private $id; private $name; public function getId(){ return $this->id; } function setId($id){ $this->id = $id; } function getName(){ return $this->name; } function setName($name){ $this->name = $name; } } ?>
<?php //ファイル3(実行) require_once('./class_Company.php'); require_once('./class_Employees.php'); $company = new Company(); $employee = new Employee();//1社員分 $employee->setId(1); $employee->setName('obt'); $company->setEmployee($employee); $employee = new Employee();//1社員分 $employee->setId(2); $employee->setName('steps'); $company->setEmployee($employee); var_dump($company->getEmployee('steps'));//stepsを取り出す ?>
このように、クラスをうまく使うと簡単に取り出せます。
■vi
□viってなに
•emacsと同様に人気のエディタ
•Vimはviの派生したもの
•マックにはvimが入ってる
□viの必要性
•たまにemacsが使えなサーバがある
•viで編集するためのコマンドがある
•ちょっとした設定ファイル編集時に知っておくと便利
□viの特徴
•色々なモードがある
コマンドモード
lnsertモード
•切替えは i,a等とescで行う