Alexander v2
Новичок
ООП & Как постоянно обрабатывать Index.php?
Здравствуйте!
Недавно перешел с другого языка на PHP, начал изучать ООП. Написал ради тренировки класс для генерирования полей <select ..> в форме.
Прошу попинать, указать где что не так..
2. Вопрос такой:
У нас в корне лежит файл index.php
Предположим, что пользователь запросил страницу
/dir/dir/file.php
Как сделать чтобы сначала все равно обработался index.php, а затем file.php
Мне известно два способа: 1. С помощью регэкспов разбивать url и вызывать file.php в index.php. 2. Передавать переменную в урл, например show=abc, в index.php ловим переменную и вызываем что надо.
Какой способ лучше? Может быть есть какой-то другой, более лучший способ? До этого долго програмировал на Parser3 там эти вещи реализованы на уровне языка.
Здравствуйте!
Недавно перешел с другого языка на PHP, начал изучать ООП. Написал ради тренировки класс для генерирования полей <select ..> в форме.
PHP:
<?php
class option{
var $array; //имя массива данных
var $name; //имя для <select>
var $value; //ключ массива для значения поля
var $key; //ключ массива для вывода
var $selected; //переменная, с которой будем сравнивать
//Конструктор
function __construct($array, $name, $value, $key, $selected=0){
$this->array = $array;
$this->name = $name;
$this->value = $value;
$this->key = $key;
$this->selected = $selected;
}
//Вывод поля
function write (){
printf('<select name="'.$this->name.'">');
while($row=mysql_fetch_array($this->array)){
if($row[$this->value]===$this->selected){
$select_str="selected";
} else {
$select_str="";
}
print('<option '.$select_str.' value="'.$row[$this->value].'">'.$row[$this->key].'</option>');
}
print('</select>');
}
//Проверка на правильность
function valid($param){
if($_REQUEST[$this->name]==$param){
return false;
} else {
return true;
}
}
}
Вызов:
$result=mysql_query("SELECT id, rus, eng FROM options WHERE class='1'");
$opt=new option($result, "drev", "id", "eng", $_POST['drev']);
<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="post">
<?=$opt->write()?>
<input type="submit">
</form>
<? if($opt->valid("1") == true){echo("True");}?>
2. Вопрос такой:
У нас в корне лежит файл index.php
Предположим, что пользователь запросил страницу
/dir/dir/file.php
Как сделать чтобы сначала все равно обработался index.php, а затем file.php
Мне известно два способа: 1. С помощью регэкспов разбивать url и вызывать file.php в index.php. 2. Передавать переменную в урл, например show=abc, в index.php ловим переменную и вызываем что надо.
Какой способ лучше? Может быть есть какой-то другой, более лучший способ? До этого долго програмировал на Parser3 там эти вещи реализованы на уровне языка.