�N���X
�@�N���X�Ƃ́A��ʂɊ��̏W���̂Ƃ��Ē�`����Ă��܂����A���Ɣ�׃f�[�^�̈����Ƃ����_�Ō���ׂĂ݂�Ƃ��̈Ⴂ�����킩��₷���Ȃ�܂��B���͗^����ꂽ���͒l�i�����j�����ɂ��ď������ʂ�߂�l�Ƃ��ďo�͂��邾���̂����݂ł����A�N���X�܂��̓I�u�W�F�N�g�́A�������g�̂Ȃ��Ƀf�[�^���i�[����ϐ��Ƃ��Ă̖������͂����Ă��܂��B���̌��ʁA���ł̃f�[�^�̈����́A�f�[�^���������u�ʉ߁v���Ă��������Ȃ̂ɂ������āA�N���X�A�I�u�W�F�N�g�ł͂���ɏ����O�A������̃f�[�^������ŕێ����Ă������Ƃ��\�ɂȂ�܂��B�v���O���}�͕K�v�ɉ������̒l�����o���čēx���p���邱�Ƃ��ł���悤�ɂȂ�킯�ł��B
�f�[�^��ێ� | �f�[�^������ | |
�ϐ� | �� | �~ |
�� | �~ | �� |
�N���X�A�I�u�W�F�N�g | �� | �� |
�I�u�W�F�N�g
�@�N���X�𗝉����邤���ŏd�v�ɂȂ��Ă���̂��I�u�W�F�N�g�ł��B�N���X�ƃI�u�W�F�N�g�͎��Ĕ�Ȃ���̂ł��B�I�u�W�F�N�g�Ƃ̓N���X�����ɂ��Ă���ꂽ�R�s�[���w���܂��B�N���X�ł́u�f�[�^��ێ��ł���v�Ƃ��������������Ă��邽�߁A�����̏����łЂƂ̃N���X�ɃA�N�Z�X�����ꍇ�A�f�[�^�̏㏑���i�s�����j�������N�����댯������܂��B���̂��߁A�����ɉ����N���X�̃R�s�[���쐬���A���̃R�s�[�ɑ��ăA�N�Z�X���邱�Ƃ��l��������܂����B���ۂɎg���ꍇ�ɂ́A�܂��N���X�{�̂ɂ͎���������A�I�u�W�F�N�g�ƌĂ��N���X�̃R�s�[���쐬������������̑ΏۂƂ��ăv���O������g��ł����܂��B
TOP�C���X�^���X��
�@�N���X�̃R�s�[�i�I�u�W�F�N�g�j�����邱�Ƃ��u�C���X�^���X���v�Ƃ����܂��B�C���X�^���X���Ƃ́A�N���X���������߂́u������p�̗̈�v���m�ۂ���s�ׂƂ������܂��BPHP�ł́A�N���X�̃C���X�^���X�������̂悤��new���Z�q���g���čs�Ȃ��܂��B�܂��A�C���X�^���X���̍ۂɁA�K�v�ɉ����ď������̂��߂̃f�[�^�������n�����Ƃ��\�ł��B
$�ϐ��� = new �N���X��([����,...]);
�@�������K�v�Ȃ��ꍇ�ł��J�b�R�͏ȗ��ł��Ȃ��_�ɒ��ӂ��Ă��������B�C���X�^���X�������I�u�W�F�N�g�́u$�ϐ����v�Ɋi�[����A�ȍ~�͂��̕ϐ����I�u�W�F�N�g�Ƃ��Ĉ������ƂɂȂ�܂��B�܂��A�C���X�^���X�������ϐ����u�I�u�W�F�N�g�ϐ��v�ƌď̂��܂��B���̏ꍇ�A�I�u�W�F�N�g�ϐ��̂Ȃ��̃N���X�ɑ�������ƕϐ��̂��Ƃ��u�����o���v�Ɓu�����o�ϐ��v�A�܂��́u���\�b�h�v�Ɓu�v���p�e�B�v�ƌĂт܂��B
�E�����̓K���A�߂�l�̎擾 [�߂�l] = $�ϐ��� -> ���\�b�h��([����,...]); �E�l�̎Q�ƁA��� $�ϐ��� -> �v���p�e�B�� [ = �l];TOP
�R���X�g���N�^�A�f�X�g���N�^
�@�C���X�^���X���̍ۂɎ��s�������ʂȃ��\�b�h�i�����o���j�̂��Ƃ��A�R���X�g���N�^�ƌĂт܂��BPHP�S�ł́A�N���X���Ɠ����̃��\�b�h���R���X�g���N�^�ƌ��Ȃ��Ă��܂������APHP�T����́A�u__construct�v�Ƃ������ꖼ���̗p���Ă��܂��B�����A�N���X�Ɠ������O�̃��\�b�h���N���X�i�I�u�W�F�N�g�j���ɑ��݂���ꍇ�ɂ́u__construct�v���D�悵�ď�������܂��B�R���X�g���N�^�́A�C���X�^���X���̃^�C�~���O�Ŏ��s�����Ƃ���������A�v���p�e�B�i�����o�ϐ��j�̏�������A�N���X�Ŏg�p����e�탊�\�[�X�̏������Ƃ������Ăяo����čŏ��̈��������K�v�Ƃ�����̂��L�q����̂���ʓI�ł��B���ɏ������������K�v�Ȃ��ꍇ�́A�R���X�g���N�^�͏ȗ��\�ł��B
�@�R���X�g���N�^�Ƃ͔��ɁA�I�u�W�F�N�g�i�C���X�^���X�j���j�������^�C�~���O�Ŏ��s�����̂��f�X�g���N�^�ł��B�f�X�g���N�^��PHP�T�ȍ~�ł̂ݗ��p�\�ŁA���ꖼ�Ƃ��āu__destruct�v���̗p���Ă��܂��B�f�X�g���N�^�ɂ́A�N���X���Ŏg�p�������\�[�X��j������Ȃǎ�ɏI���������L�q����̂���ʓI�ł��BPHP�ł́AJava�Ɠ������������̉���Ȃǂ͎����ł�����x�����Ȃ��Ă����̂Ŏg�p�p�x�Ƃ��Ă̓R���X�g���N�^��葽���݂͂����܂���B
�A�N�Z�X�C���q
�@�N���X�𗝉����邤���ł�����d�v�ȊT�O�ƂȂ�̂��u�A�N�Z�X�C���q�v�ł��B�A�N�Z�X�C���q�Ƃ́A�N���X���̃����o�ϐ��i�v���p�e�B�j����o���i���\�b�h�j�ɑ���A�N�Z�X�̉ۂ����߂邽�߂̖��߂ɂȂ�܂��B
�EPHP�T�ŗ��p�\�ȃA�N�Z�X�C���q
�A�N�Z�X�C���q | �T�v |
public | �ǂ�����ł��A�N�Z�X�\�i�f�t�H���g�j |
protected | ���݂̃N���X�ƃT�u�N���X�ł̂݃A�N�Z�X�\ |
private | ���݂̃N���X�����ł̂݃A�N�Z�X�\ |
�@�A�N�Z�X�C���q���ȗ������ꍇ�A���̃��\�b�h�ƃv���p�e�B��public�����ƌ��Ȃ���A�f�t�H���g�łǂ�����ł��A�N�Z�X�\�ɂȂ�܂��B�܂��APHP�S�ł̓v���p�e�B���`���邽�߂�var���߂�����܂������A�������public�C���q�Ɠ��l�̈Ӗ��ł���ƌ��Ȃ���܂��B�����A�C���q�Ƃ��Ă̖����́A�N���X�����̋@�\���N���X�O������B�����邱�Ƃ��ړI�Ŏg���܂��B���������@�\���I�u�W�F�N�g�w���ł́u�J�v�Z�����v�ƌ����܂��B TOP
�Q�b�^���\�b�h�A�Z�b�^���\�b�h
�N���X����private�ϐ��ɃA�N�Z�X���邽�߂̃��\�b�h�̂��Ƃ��u�A�N�Z�T���\�b�h�iAccesor Method�j�v�Ƒ��̂��܂��B�܂��A�uget_�v���\�b�h�Ɓuset_�v���\�b�h�����ꂼ��u�Q�b�^���\�b�h�iGetter Method�j�v�A�u�Z�b�^���\�b�h�iSetter Method�j�v�ƌĂԂ��Ƃ�����܂��B
public function get_�v���p�e�B��(){ return $this -> �v���p�e�B��; } public function set_�v���p�e�B��(){ $this -> �v���p�e�B�� = ����; }�@�u$this�v�́A���݂̃N���X���������߂̖��߂ŁA�N���X���̃����o�ɃA�N�Z�X���邽�߂ɂ́A����$this����čs���K�v������܂��B�A�N�Z�T���\�b�h�̖��O�́A��ʓI�Ɂuget_�v���p�e�B���v�A�uset_�v���p�e�B���v�Ƃ���̂�����ł����\���K���ł͂Ȃ��̂ŕK���������̋K���ɏ]���K�v�͂���܂���Bget_���\�b�h����`���ꂽ�ꍇ�ɂ̓v���p�e�B�͓ǂݎ���p��set_���\�b�h����`���ꂽ�ꍇ�ɂ̓v���p�e�B�͏������ݐ�p�ɂȂ�܂��B�v���p�e�B���B�����āA�A�N�Z�T���\�b�h����ĎQ�ƁA�ݒ肷�邱�ƂŁA
- �ǂݏ����̐��䂪�\�ƂȂ�
- �v���p�e�B�l��ݒ肷��ۂɒl�̌����s����
- �v���p�e�B�l���Q�Ƃ���ۂɒl�̉��H���s����
�ÓI���\�b�h
�@�N���X�𗘗p����ɂ������ẮA�K���u�C���X�^���X���v���s���A�N���X�̃R�s�[������K�v������ƏЉ�܂������A��O�I�Ɂu�C���X�^���X���v���s��Ȃ��Ă����p�ł��郁�\�b�h������܂��B���̂悤�ȃ��\�b�h�̂��Ƃ��u�ÓI���\�b�h�v�ƌ����܂��B�ÓI���\�b�h���`����ɂ́A���\�b�h��`�̐擪��static�C���q��t�����邾���ł��B
�EMyClass.class.php <?php class MyClass{ public static function triangle ($width, $height){ return $width * $height / 2; } } ?>�@�N���X�O������ÓI���\�b�h���Ăяo���ɂ́A��ʓI�ȃ��\�b�h�A�v���p�e�B���Ăяo���u->�v���Z�q�ł͂Ȃ��A�u::�v���Z�q���g�p���܂��B
�Estatic.php <?php require_once('MyClass.class.php'); print('�O�p�`�̖ʐς�' . MyClass::triangle(10,5) . '�ł�<br>'); ?>�@�u::�v���Z�q�𗘗p���邱�ƂŃI�u�W�F�N�g�ϐ����łȂ��N���X�����璼�ړI�Ƀ��\�b�h���Ăяo�����Ƃ��\�ƂȂ�܂��B�ł͂Ȃ����̂悤�ɁA�C���X�^���X����K�v�Ƃ��郁�\�b�h�Ƃ����łȂ����\�b�h�����݂���̂��Ƃ����ƁA����́A�O������^����ꂽ�l���������o�͂��邾���Ƃ������Ƃ��������Ă��邩��ł��B�N���X���Ńv���p�e�B�Ƃ��ăf�[�^�𗯂߂邱�ƂȂ����\�b�h�Ƃ��Ă����������Ăяo�����ɕԂ������̂�������I�ȏ��������߂��Ă���̂ł킴�킴�I�u�W�F�N�g������Ȃ��Ƃ��A�f�[�^�̏㏑���i�s�����j���������Ȃ����߂ł��B���������A�ÓI���\�b�h�ł́A�N���X���Ƀv���p�e�B�i�f�[�^�j��ݒ���Ƃ��Q�Ƃ��悤�ɂ��v���p�e�B���̂����݂��Ȃ��̂łł��܂���B$this���߂����R�Ȃ���g���܂���B TOP
�N���X���萔
�@�N���X���萔�Ƃ́A���̖��̒ʂ�class�u���b�N�̒��Œ�`���ꂽ�萔�̂��Ƃł��BPHP�T�����const���߂𗘗p���邱�ƂŃN���X�����Œ萔���`���邱�Ƃ��ł��܂��B
<?php class MyClass { const AUTHOR = '������'; } print('���Җ��F' . MyClass::AUTHOR); ?>�@�N���X���萔���Q�Ƃ���ɂ͐ÓI���\�b�h���l�A�u::�v���Z�q���g���܂��B�N���X���萔�𗘗p����ƁA����̃N���X�ł������p���Ȃ��萔���N���X�����ŊǗ��ł��A�N���X�O���ɏo���Ȃ��čςނ̂ł�蕪����₷���R�[�h���L�q���邱�Ƃ��ł��܂��B TOP
�p��
�@�p���Ƃ́A�N���X�Ɋ܂܂��v���p�e�B��\�b�h�����������Ȃ���V���ȋ@�\��lj�������A���̋@�\���ꕔ�����C�����邱�Ƃ��ł���@�\�̂��Ƃł��B�K�v�ɉ������ɂȂ�N���X�̋@�\�������p���@�\�lj��A�ύX�Ȃǂ̐V�����N���X������ꍇ�Ɏg���܂��B�p���̍ہA��ɂȂ�N���X�̂��Ƃ��u�X�[�p�[�N���X�i�e�N���X�A���N���X�j�v�ƌĂсA�p���̌��ʂł����N���X�̂��Ƃ��u�T�u�N���X�i�q�N���X�A�h���N���X�j�v�ƌĂт܂��B
<?php class �T�u�N���X�� extends �X�[�p�[�N���X�� { �T�u�N���X�̏�����` } ?>�@�p���ɂ��X�[�p�[�N���X�̋@�\���T�u�N���X�ŏ㏑�����邱�Ƃ��u�I�[�o�[���C�h�v�ƌ����܂��B�I�[�o�[���C�h����Ȃ������X�[�p�[�N���X�̃��\�b�h�̓T�u�N���X�ł����̂܂܈����p����A���������������g�Œ�`�������\�b�h�ł��邩�̂悤�ɗ��p�ł��܂��B
<?php class MyClass { protected $data; public function __construct($data) { $this->data = $data; } public function showData() { return '���͒l�́u'.$this->data.'�v�ł��B'; } } class MySubClass extends MyClass { public function showData(){ return '***���͒l�́u'.$this->data.'�v�ł��B***'; } } $obj=new MySubClass ('PEAR'); print($obj->showData()); ?> [�o��] ***���͒l�́uPEAR�v�ł��B***TOP
parent����
�@�������I�[�o�[���C�h����ɂ��A�X�[�p�[�N���X�̋@�\�����S�ɓh��ւ���̂ł͂Ȃ��A�X�[�p�[�N���X�̋@�\���p���Ȃ���T�u�N���X���ŋ@�\��lj��������Ƃ����ꍇ������܂��B���̂悤�ȏꍇ�ɂ�parent���߂ŃX�[�p�[�N���X�̃��\�b�h���Ăяo�����Ƃ��\�ł��Bparent���߂𗘗p����ƃT�u�N���X�ŃX�[�p�[�N���X�̃��\�b�h�������������ς������Ǝv�����ꍇ�ł�������ŏ����珑�������K�v�͂Ȃ��Ȃ�܂��B�X�[�p�[�N���X�̃��\�b�h�̖߂�l�𗘗p���K�v�ȕ����������C������Ƃ������Ƃ��\�ɂȂ�܂��B
<?php class MyClass { protected $data; public function __construct($data){ $this->data=$data; } public function showData(){ return '���͒l�́u'.$this->data.'�v�ł��B'; } } class MySubClass extends MyClass { public function showData(){ return '***'.parent::showData().'***'; } } $obj=new MySubClass('PERA'); print($obj->showData()); ?>TOP
final�C���q
�@final�C���q�͓���̃��\�b�h���I�[�o�[���C�h�ł��Ȃ��悤�ɐ������邽�߂̏C���q�ł��B�p�������邱�Ƃ�z�肵�Ă��Ȃ����\�b�h�ɂ��Ă�final�C���q�����邱�Ƃŕs�p�ӂɃI�[�o�[���C�h����邱�Ƃ�h�����Ƃ��ł��܂��B
<?php class MyClass { protected $data; public function __construct($data){ $this->data=$data; } public final function showData(){ return '���͒l�́u'.$this->data.'�v�ł��B'; } } class MySubClass extends MyClass{ public function showData(){ return '***���͒l�́u'.$this->data.'�v�ł��B***'; } } ?> [�o��] Fatal error: Cannot override final methot MyClass::showData() in filan.phpTOP
�|�����[�t�B�Y��
�@�|�����[�t�B�Y���Ƃ͓����̃��\�b�h�ňقȂ鋓�����������邱�Ƃ������܂��B�|�����[�t�B�Y���̃��\�b�h�́A�����ړI�̋@�\�ɓ����̃��\�b�h�����蓖�Ă邱�Ƃ��ł���Ƃ������Ƃł��B����͈�A�̊֘A����N���X�𗘗p����ꍇ�ɁA�قȂ郁�\�b�h�����o���Ȃ��Ă������߁A���p�҂ɂƂ��ė����������܂��B�����ɂ́A�P�Ȃ�p���ƃI�[�o�[���C�h�����ł͂��ꂼ��̃T�u�N���X�������̃��\�b�h�������Ƃ��K�������ۏł��Ȃ����߁A���ۃ��\�b�h�Ƃ����T�O��PHP�̏ꍇ���p���܂��B
�Epolymorphism.php <?php class Figure { protected $width; protected $height; public function __construct($width, $height){ $this->width=$width; $this->height=$height; } protected function getArea(){} } class Triangle extends Figure { public final function getArea(){ return $this->width * $this->height / 2; } } class Square extends Figure { public final function getArea(){ return $this->width * $this->height; } } $tri = new Triangle(10, 5); $sqr = new Square(10, 5); print('�O�p�`�̖ʐς�'.$tri->getArea().'�ł��B<br>'); print('�l�p�`�̖ʐς�'.$sqr->getArea().'�ł��B<br>'); ?> [�o��] �O�p�`�̖ʐς�25�ł��B �l�p�`�̖ʐς�50�ł��BTOP
���ۃ��\�b�h
�@���ۃ��\�b�h�Ƃ́A���\�b�h��`�̐擪��abstract�C���q��t���������\�b�h�ł���A���ۃ��\�b�h���͓̂�����`���Ȃ���̃��\�b�h�ł��B���ۃ��\�b�h�́A�T�u�N���X�ŕK���I�[�o�[���C�h���Ȃ�������܂���B�N���X���̒��ۃ��\�b�h���T�u�N���X�ŕK���I�[�o�[���C�h����Ă��Ȃ�����̃N���X�̓C���X�^���X���ł��܂���B����ɂ��A�����̃��\�b�h���T�u�N���X�ōĒ�`����邱�Ƃ�ۏ��܂��B���ۃ��\�b�h�̒�`�ł́A���g����ł����Ă� { } �̂悤�ȃu���b�N���`���܂���B
�@�܂��A���ۃ��\�b�h���܂ރN���X�̂��Ƃ𒊏ۃN���X�Ƃ����Aclass�L�[���[�h�̑O��abstract�C���q��t������K�v������܂��B���ۃN���X�̃T�u�N���X�����ۃ��\�b�h�����ׂăI�[�o�[���C�h���Ă��Ȃ��ꍇ�A�G���[���o�܂��B
�Eabstract.php <?php abstract class Figure { protected $width; protected $height; public function __construct($width, $height){ $this->width = $width; $this->height = $height; } protected abstract function getArea(); } class Triangle extends Figure { public final function getArea() { return $this->width * $this->height / 2; } } class Square extends Figure { public final function getArea() { return $this->width * $this->height; } } $tri = new Triangle(10, 5); $sqr = new Square(10, 5); print('�O�p�`�̖ʐς�'.$tri->getArea().'�ł��B<br>'); print('�l�p�`�̖ʐς�'.$sqr->getArea().'�ł��B<br>'); ?>TOP
�C���^�[�t�F�C�X
�@���ۃN���X�ɂ��|�����[�t�B�Y���̎����ɂ͖�������܂��B����́APHP�ł͑��d�p���A�܂�A�T�u�N���X�������ɕ����̃X�[�p�[�N���X���p���ł��Ȃ��Ƃ����_�ł��B���̐�����P��p���Ƃ����܂��B���d�p�����ł��Ȃ��Ƃ������Ƃ̓|�����[�t�B�Y�����������������ׂĂ̋@�\�i���\�b�h�j���ЂƂ̒��ۃN���X�Ɋ܂߂Ȃ�������Ȃ����Ƃ��Ӗ����܂��B����͕K�������T�u�N���X���X�[�p�[�N���X�̋@�\��K�v�Ƃ��Ȃ��ꍇ�ł��A�@�\���I�[�o�[���C�h���Ȃ���Ȃ�Ȃ��Ȃ�A���R�A�R�[�h�͏璷�ɂȂ�܂��B�R�[�h���璷�ɂȂ�Ƃ������Ƃ̓T�u�N���X�̖�����������ɂ��������������邱�ƂɂȂ���܂��B�����ŁAPHP�ł́A�C���^�[�t�F�C�X�𗘗p���܂��B�C���^�[�t�F�C�X�Ƃ͔z���̃��\�b�h�����ׂĒ��ۃ��\�b�h�ł�����ʂȃN���X�������܂��B�C���^�[�t�F�C�X���`����ꍇ�ɂ́Aclass�L�[���[�h�̑����interfece�L�[���[�h���g�p���܂��B�܂��A�z���̃��\�b�h�����ۃ��\�b�h�ł��邱�Ƃ�interfece�L�[���[�h���疾�炩�Ȃ̂ŌX�̃��\�b�h�ɂ�abstract�C���q�͕K�v����܂���B
�@�C���^�[�t�F�C�X�ƃN���X�Ƃ̌���I�ȈႢ�͂����鑽�d�p�����\�ɂȂ�Ƃ������Ƃł��B�C���^�[�t�F�C�X���̗p���邱�Ƃɂ��A�T�u�N���X���ł͕K�v�ȃ��\�b�h���܂ރC���^�[�t�F�C�X��I�����p�����邱�Ƃ��\�ƂȂ�܂��B���̂Ƃ��A�C���^�[�t�F�C�X�̋@�\���p�����Ƃ́u�p������v�ł͂Ȃ��u��������v�ƌ����܂��B�C���^�[�t�F�C�X����������ꍇ�ɂ́Aextends�L�[���[�h�̑����implements�L�[���[�h���g�p���܂��B�C���^�[�t�F�C�X�����������N���X�̂��Ƃ��u�����N���X�v�Ƃ����܂��B�܂��A�����̃C���^�[�t�F�C�X����������K�v������ꍇ�ɂ́A�C���^�[�t�F�C�X�����J���}���ŋL�q���܂��B
�EFigure.class.php <?php interface Figure { public function getArea(); } ?> �Einterface.php <?php require_once('Figure.class.php'); class Triangle implements Figure { private $width; private $height; public function __construct($width, $height){ $this->width = $width; $this->height = $height; } public final function getArea(){ return $this->width * $this->height / 2; } } class Square implements Figure { private $width; private $height; public function __construct($width, $height){ $this->width = $width; $this->height = $height; } public final function getArea(){ return $this->width * $this->height; } } $tri = new Triangle(10, 5); $sqr = new Square(10, 5); print('�O�p�`�̖ʐς�'.$tri->getArea().'�ł��B<br>'); print('�l�p�`�̖ʐς�'.$sqr->getArea().'�ł��B<br>'); ?>TOP
__autoload��
�@PHP�T�ł́A�I�u�W�F�N�g�w���\������������A����Ȃ�JAVA���C�N�ȃI�u�W�F�N�g�w���v���O���~���O���\�ɂȂ�܂����B����ɁAPHP�T�ł͓Ǝ��Ŏg����\���K�����lj�����Ă��܂��B���̂ЂƂ�autoload���ł��B���Ƃ��ƃN���X�͕����̃X�N���v�g����ė��p�����Ƃ������̐�����A�P�N���X�P�t�@�C���ŊǗ����邱�Ƃ��]�܂����Ƃ���Ă��܂��i�����A�Z���v���O�����Ȃǂ͉ǐ����l�����Đv����Ă��邱�Ƃ�����̂ŗ�O�͂���܂��j�B�P�N���X�P�t�@�C���Ȃ�A���ʂȃN���X��ǂݍ��ޕK�v������܂��A�t�@�C���Ǘ��Ƃ����ϓ_������������₷���Ȃ�܂��B�����A�P�N���X�P�t�@�C�������ō쐬���Ă����ƈ����N���X�������Ă����ꍇ�ɂЂƂЂƂ̃N���X�t�@�C���ɂ���include_once����require_once�����L�q���邱�Ƃ��傫�Ȏ�ԂɂȂ�܂����A�L�q�R�����̌����ɂ��Ȃ�܂��B�����Ŗ��ɗ��̂�__autoload���ł��B
�@__autoload���́A����`�N���X���Ăяo�����^�C�~���O�Ŏ����I�ɌĂяo�������ʂȊ��ł���A�Ăяo��������`�̃N���X�̖��O�������Ƃ��ēn����܂��B__autoload���́A���ꎩ�̂͂Ȃ������������Ȃ����O�����\�ꂽ���ł��B��ʓI�ɂ́A�u�N���X��.class.php�v�̂悤�Ȍ`���ł��炩���߃t�@�C�����Ɉ��̋K������݂�����ŁA__autoload������require_once�����Ăяo���A�N���X���Ăяo���ꂽ�^�C�~���O�Ŏ����I�ɓ����̃N���X�t�@�C�����C���N���[�h����悤�ȗp�r�Ŏg�p���܂��B
�@__autoload���𗘗p����ƁA�N���X���Ƃ�require_once�����Ăяo���K�v���Ȃ��Ȃ�̂ŁA�R�[�h���V���v���ɂȂ�܂��B�܂��A�X�N���v�g���Ŏg�p���邩�ǂ���������Ȃ��N���X���C���N���[�h���Ȃ��Ă��ςނ̂ŏ�����̃I�[�o�[�w�b�h���y�����܂��B�Ȃ��A__autoload�����`�����X�N���v�g�́A���̐�����A�A�v���P�[�V�������̂��ׂẴX�N���v�g�ŗL���ɂ��Ă������Ƃ������߂��܂��B�A�v���P�[�V�����z���̃t�@�C���ɑ���autoload.php�������I�ɓǂݍ��ނ��߂ɂ́A.htaccess�t�@�C���𗘗p���܂��B
�Eautoload.php <?php function __autoload($name){ require_once($name . '.class.php'); } ?> �Eauto_load.php <?php require_once('autoload.php'); $obj = new MyClass(); $obj -> width = 10; $obj -> height = 5; print('�O�p�`�̖ʐς�'.$obj->triangle().'�ł��B<br>'); ?>TOP
.htaccess
�@.htaccess�t�@�C���i�擪�Ƀh�b�g�����BUNIX�n��ł͐擪�Ƀh�b�g�����t�@�C���͉B���t�@�C�������̈Ӗ��ɂȂ�j�́AApache�W���̐ݒ�t�@�C���ŁA�h�L�������g���[�g�z���̔C�ӂ̃f�B���N�g���ɔz�u���邱�ƂŁA�Y������f�B���N�g���ƁA���̔z���̃T�u�f�B���N�g���ɑ��Ă����K�p�����p�����[�^��ݒ肷�邱�Ƃ��ł��܂��Bphp.ini�𗘗p����ƃT�[�o�[�S�̂ɑ��Đݒ肪�K�p����Ă��܂��܂����A���̂悤�ɓ���̃A�v���P�[�V�����ɑ��Đݒ��K�p�������Ƃ����ꍇ�́A.htaccess�𗘗p���܂��B�����͈ȉ��̂Ƃ���ł��B
<IfModule mod_php5.c> php_value �p�����[�^�� �p�����[�^�l php_flag �p�����[�^�� on | off <IfModule>�@�p�����[�^�l��on�܂���off�ŕ\�����ꍇ�ɂ́Aphp_flag���A����ȊO�̒l�ł���ꍇ�ɂ�php_value���g�p���܂��Bphp_value,php_flag�͕K�v�Ȑ������L�q�ł��܂��B�܂��A.htaccess��PHP�̐ݒ���s���ꍇ�ɂ́A���̂Q�_�ɂ��Ē��ӂ���K�v������܂��B
http.conf��AllowOverride�f�B���N�e�B�u��"All"�ɐݒ�
�@AllowOverride�f�B���N�e�B�u�́A.htaccess�t�@�C���ɂ��p�����[�^�̏㏑�����\�ɂ��邩�ǂ��������߂邽�߂̃p�����[�^�ł��BAllowOverride�f�B���N�e�B�u��"None"�ɐݒ肳��Ă���ꍇ��.htaccess�t�@�C���͖�������܂��B
.htaccess�t�@�C���Őݒ�\�ȃp�����[�^�͌��܂��Ă���
�@.htaccess�t�@�C���ł́A���ׂĂ�php.ini�̃p�����[�^��ݒ�ł���킯�ł͂���܂���B�p�����[�^�ɂ���ẮAphp.ini�ł����ݒ�ł��Ȃ����̂�����̂Œ��ӂ��Ă��������B�ǂ̃p�����[�^��.htaccess�t�@�C���Őݒ�\���́Aini_get_all����access�����Q�Ƃ��邱�ƂŊm�F�ł��܂��B�A�N�Z�X���x�����U�܂��͂V�ł���ꍇ�A���̃p�����[�^��.htaccess�Őݒ�\�ł��B
<? print '<PRE>'; print_r(ini_get_all()); print '</PRE>'; ?> [�o��] Array ( [allow_call_time_pass_reference] => Array ( [global_value] => 1 [local_value] => 1 [access] => 6 ) ���� )TOP
__call���\�b�h
�@__call���\�b�h�́A����`�̃��\�b�h���Ăяo���ꂽ�ꍇ�̋������`���邽�߂̃��\�b�h�ł��B__autoload���Ɠ��lPHP�T�Ǝ��̂��̂ł���A���ꎩ�̂͂Ȃ������������Ȃ����O�����\�ꂽ���\�b�h�ł��̂ŕK�v�ɉ����Ē��g����������K�v������܂��B__call���\�b�h�͈����Ƃ��āA���\�b�h���ƈ����l�̔z�����邱�Ƃ��ł��܂��B�ς���̋@�\�ł͂���܂����A���\�b�h���ɉ����ċ��ʓI�ȏ��������Ȃǂ̃P�[�X�ŗ��p�ł���ł��傤�B
<?php class MyClass{ public function __call($name,$args){ print('���\�b�h���F'.$name.'<br>'); print_r($args); } } $obj = new MyClass(); $obj -> nothing('x','y'); ?> [�o��] ���\�b�h���Fnothing Array ( [0] => x [1] => y )TOP
__get,__set���\�b�h
�@__get,__set���\�b�h�́A����`�̃v���p�e�B���擾�E�ݒ肵�悤�Ƃ����^�C�~���O�ŌĂяo����郁�\�b�h�ł��B__autoload���Ɠ��lPHP�T�Ǝ��̂��̂ł���A���ꎩ�̂͂Ȃ������������Ȃ����O�����\�ꂽ���\�b�h�ł��̂ŕK�v�ɉ����Ē��g����������K�v������܂��B__get���\�b�h�́A�擾���悤�Ƃ�������`�̃v���p�e�B�̖��O�������Ƃ��Ď��܂��B__set���\�b�h�́A�ݒ肵�悤�Ƃ�������`�̃v���p�e�B�̖��O�ƒl�������Ƃ��Ď��܂��B�����̃��\�b�h���g�p���āA����`�̃v���p�e�B���Q�Ƃ��ꂽ�Ƃ��̏������L�q���܂��B
<?php class MyClass{ public function __get($name){ print($name . '�v���p�e�B���Q�Ƃ���܂����B<br>'); } public function __set($name, $value){ print($name . '�v���p�e�B�l' . $value . '���Z�b�g����܂����B<br>'); } } $obj = new MyClass(); $obj -> nobody = 1; print($obj->nobody); ?> [�o��] nobody�v���p�e�B�l1���Z�b�g����܂����B nobody�v���p�e�B���Q�Ƃ���܂����BTOP