PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Описание: начал разбираться с классами помогите понять
Поиск в теме | Версия для печати
3d_killer
Отправлено: 17 Августа, 2013 - 11:58:11
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011
Откуда: Ростов-на-Дону
Помог: 21 раз(а)
Раньше дело с ООП не имел... пользуюсь книгой ООП на php 5 (Peter Lavin)
PHP:
скопировать код в буфер обмена
class DirectoryItems
{
private $filearray = array ( ) ; //глобальная переменная //Конструктор
public function __construct( $directory )
{
$d = '' ;
$this -> directory = $directory ;
if ( is_dir ( $directory ) ) //если директория существует {
$d = opendir ( $directory ) or
die ( "Не удалось открыть каталог" ) ; //открываем директорию {
{
$this -> filearray [ ] = $f ;
}
}
}
else
{
die ( "Нужно передать имя каталога" ) ; }
}
//функция передачи переменной
public function getFilearray( )
{
return $this -> filearray ;
}
//Конец конструктора
//Выбрать только изображения
public function images_Only( )
{
$types = array ( "jpg" , "bmp" , "gif" , "png" , "jpeg" ) ; foreach ( $this -> filearray as $key => $value )
{
{
unset ( $this -> filearray [ $key ] ) ; }
}
}
//Удаление фильтра
public function removeFilter( )
{
$d = "" ;
$d = opendir ( $this -> directory ) or
die ( "Не удалось открыть каталог" ) ; //открываем директорию {
{
$this -> filearray [ ] = $f ;
}
}
}
}
//ВЫВОД
$class_new = new DirectoryItems( 'image' ) ; //создаем объект
$return = $class_new -> getFilearray ( ) ;
foreach ( $return as $key => $value ) //раскладываем и выводим список файлов
{
echo ( $key . " - " . $value . "<br>" ) ;
}
$class_new -> images_Only ( ) ; //Выбираем только изображения
$return = $class_new -> getFilearray ( ) ;
echo ( "<br>" ) ;
foreach ( $return as $key => $value ) //раскладываем и выводим список файлов
{
echo ( $key . " - " . $value . "<br>" ) ;
}
$class_new -> removeFilter ( ) ; //Удалить фильтр
$return = $class_new -> getFilearray ( ) ;
echo ( "<br>" ) ;
foreach ( $return as $key => $value ) //раскладываем и выводим список файлов
{
echo ( $key . " - " . $value . "<br>" ) ;
}
удалить фильтр выдает ошибку:
и по самому коду хотел спросить правильно ли я его пишу? заранее благодарю
soffrick
Отправлено: 17 Августа, 2013 - 12:21:37
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012
Откуда: Россия, Москва
Помог: 17 раз(а)
3d_killer пишет: Warning: Invalid argument supplied for foreach()
ну и чтож такие глупые ошибки выкладываешь? ООП это парадигма, а не другой какой-то ЯП
(Добавление)
3d_killer пишет: images_Only(); //Выбираем только изображения
код
вроде самодокументирован, к чему оверхед комментов?
(Отредактировано автором: 17 Августа, 2013 - 12:24:12)
-----Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
Мелкий
Отправлено: 17 Августа, 2013 - 12:32:21
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009
Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
soffrick пишет: пиши на JAVASCRIPT, он полностью ООП.
Никогда такого не было. JS прототипно-ориентированный ЯП.
Говорят, если хочешь понять ООП - учи Java. Вот кто ООП до мозга костей.
soffrick
Отправлено: 17 Августа, 2013 - 12:33:20
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012
Откуда: Россия, Москва
Помог: 17 раз(а)
Мелкий
Вы по ссылке переходили ?
Мелкий пишет: ООП до мозга костей
ну или ООП головного мозга
(Добавление)
DelphinPRO пишет: слышал звон, да не знаю где он...
да я ваще не знаю шо такоэ серверный и клинтский изык
(Отредактировано автором: 17 Августа, 2013 - 12:34:44)
-----Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
NoPaper
Отправлено: 17 Августа, 2013 - 12:33:47
Посетитель
Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012
Откуда: Минск
Помог: 9 раз(а)
если не знаешь, не берись
читай мануалы, форумы, пытайся по максимуму разобраться
разленился народ, чуть что - сразу на форум писать
вот за пару дней не увидел ни одного интересного вопроса...
soffrick пишет: JAVASCRIPT
и что сие аббревиатуры значат?
soffrick
Отправлено: 17 Августа, 2013 - 12:39:58
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012
Откуда: Россия, Москва
Помог: 17 раз(а)
http://forum.php.su/topic.php?fo...mp;v=#1376731684
отрывать руки за отключение нотисов!
Саныч пишет: Я за такую "фигню" руки отрывал бы.
(Добавление)
3d_killer пишет: ошибка то в сбросе фильтра где может скажет кто?
научись отлаживать
свой код
(Добавление)
хотябы узнай что есть функция
var_dump() !
Спойлер (Отобразить ) 0 - script.php
1 - test.html
2 - 3.jpg
3 - 1.jpg
4 - 2.jpg
5 - index.php
2 - 3.jpg
3 - 1.jpg
4 - 2.jpg
0 - script.php
1 - test.html
2 - 3.jpg
3 - 1.jpg
4 - 2.jpg
5 - index.php
(Добавление)
3d_killer пишет: $class_new = new DirectoryItems('image'); //создаем объект
небось папку то рядом со скриптом не создал
-----Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
soffrick
Отправлено: 17 Августа, 2013 - 12:52:33
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012
Откуда: Россия, Москва
Помог: 17 раз(а)
3d_killer пишет: сбросе фильтра где может скажет кто?
undefined variable directory, dancing here!
if(is_file("$directory/$f"))
(Добавление)
сложно включить вывод нотисов, да?
и почему за тебя должны отлаживать твой код, который ты даже не попытался понять и отладить?
-----Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
Поиск в теме | Версия для печати
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB