[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ООПять.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
inpost
m4a1fox
Свернутый текст
Я не общаюсь с теми, кого не уважаю. Точка.


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
m4a1fox
inpost
Вопрос закрыт!(восклицательный знак) wink.gif
waldicom
а том мой вопрос пропадет... а я столько старания вложил smile.gif

Цитата (twin @ 8.12.2012 - 10:44)
Точно так же и ООП. Не преспособлен PHP для объектного программирования. Больше скажу, в веб-технологиях в подавляющем большинстве это избыточно и неоправдано, ибо веб-технологии состоят из несвойственных объектному прогаммированию задач.

Т.е. сама идея ООП у тебя чувство неприязни не вызывает? Если так, то в чем же отличие "PHP-OOP" от "Java-OOP" ?

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Dezigo
Простой пример phpExcel
http://phpexcel.codeplex.com/documentation
Сделать это на процедурках, это выстрелить себе в голову

Кусок кода

private function createHeader($sheetIndex, array $data, PHPExcel $excelObj) {

$excelObj->getSheet($sheetIndex)
->
getHeaderFooter()
->
setOddHeader(self::EXCEL_TITLE);

$excelObj->getSheet($sheetIndex)
->
getHeaderFooter()
->
setOddFooter(self::EXCEL_FOOTER);

$excelObj->getSheet($sheetIndex)
->
getPageSetup()
->
setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);

$excelObj->getSheet($sheetIndex)->getPageMargins()->setBottom(0)->setFooter(0)->setLeft(0)->setRight(0);

foreach ($data['size'] as $k => $v) {
$excelObj->getSheet($sheetIndex)->getColumnDimension($k)->setWidth($v);
}
$row = 1;
//title
$excelObj->getSheet($sheetIndex)
->
mergeCells("D$row:J$row")
->
setCellValue("D$row",self::EXCEL_REPORT_NR.$this->data['request_nr'] . '.' . $this->data['id'] . $data['letter'])
->
getStyle("D$row")
->
getFont()->setBold(true)
->
setSize(14);
$row =+2;
//forwarder
$excelObj->getSheet($sheetIndex)
->
mergeCells("B$row:E$row")
->
setCellValue("A$row",self::EXCEL_FORWARDER)
->
setCellValue("B$row", $data['forwarder'])
->
getStyle("A$row:E$row")
->
getFont()
->
setBold(true);
$row++;
//date
$excelObj->getSheet($sheetIndex)
->
setCellValue("A$row",self::EXCEL_DATE. $this->data['date'])
->
getStyle("A$row")
->
getFont()->setBold(true)
->
setSize(12);
$row++;
//cargo
$excelObj->getSheet($sheetIndex)
->
mergeCells("A$row:E$row")
->
setCellValue("A$row", $data['type'])
->
getStyle("A$row")
->
getFont()
->
setBold(true);
$row++;
//gang
$excelObj->getSheet($sheetIndex)
->
setCellValue("A$row",self::EXCEL_GANG. $this->data['gang_name'])
->
getStyle("A$row")
->
getFont()
->
setBold(true)
->
setSize(12);
$row++;
//measurement
$excelObj->getSheet($sheetIndex)
->
setCellValue("A$row",self::EXCEL_MEASUREMENT.$this->data['measurement'])
->
getStyle("A$row")
->
getFont()
->
setBold(true)
->
setSize(12);
}

Разве это не прекрасно?
Документ->текущая_вкладка->установить_значение(...)->стиль-фонт->установить-стиль_фонта- >установить->размер

И это относиться всё к одной ячейке.
Можно сделать абсолютно любую вещь.
Каждая ячейка, это объект.
Памяти ест много, это не для больших отчётах.
Если интерестно, могу выложить весь файл, суть в удобстве.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.