Re: PHP - всі за і проти
Я також пожаліюся - інтерфейс до mysql не є зворотньо сумісним, нащо вони город городили, щоб префікс mysql_ замінити на mysqli_ (ООП інтерфейс не розглядаємо). Це унеможливлює використання тисячі рядків написаного коду.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → PHP → PHP - всі за і проти
Сторінки Попередня 1 2 3 4 5 6 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
Я також пожаліюся - інтерфейс до mysql не є зворотньо сумісним, нащо вони город городили, щоб префікс mysql_ замінити на mysqli_ (ООП інтерфейс не розглядаємо). Це унеможливлює використання тисячі рядків написаного коду.
Це унеможливлює використання тисячі рядків написаного коду.
Ви трошки не вірно написали. Має бути так:
Це унеможливлює використання тисячі рядків написаного коду на останніх версіях PHP.
Не варто оновлювати код якщо вам все рівно на безпеку.
Як на мене тут зробили все вірно. Є сотні тисяч юзерів які сидять на старій версії PHP і у них нема проблем поки їх не похакають.
Якщо у вас 5.3 і ви не бажаєте оновлюватись відповідайте самі за безпеку свою а якщо хочете що б не було багів - переписуйте код і юзайте останній софт;)
У канторі де я працюю я займайвся якраз переписуванням старого функціоналу який юзав mysql_ на pdo
Так, пішло чимало часу, але 2-3 тижні роботи і все буде чітко і набагато зручніше і набагато безпечніше) + як завжди закривались дірки у коді)
Я особливо не придивлявся, тому поясніть мені різницю між mysql і mysqli інтерфейсами. ПДО поки облишимо.
А у PHP він у 99% випадків натрапляє на якесь w3schools, де його навчать mysql_real_escape_string, PHP коду посеред HTML, та іншим пустощам.
Шаблонізатор же.
Проти.
extract — Import variables into the current symbol table from an array
Було б дуже зручно (і більш осмислено чи що) якби можна було б імпортувати змінні з масиву функцією extract і відразу ж передати їх функції compact (funct(compact(array('a'=>12)))). Як приклад наведено типову ситуацію передачі даних в представлення в типовому PHP фреймворку. Якби це було так, то в наведеному нижче прикладі не довелося б створювати ще один масив який містив би потрібні дані і передавати його в представлення і там писати щось на кшталт $масивЗОсмисленоюНазвоюЗякоїСтаєЗрозумілоЙогоПризначення['назваЗмінної']['вкладенийМасив']['іщеОднаЗмінна'] або імпортувати змінні а потім по одній передавати куди потрібно.
<?php
class CommonPHPController extends PHPMVCFrameworkClass_ {
private function returnArray(){
$url = '';
$index = 0;
if ($_GET['var'] == 'abc'){
$url = 'a';
$index = 12;
} else {
$url = 'b';
$index = 24;
}
return array('url' => $url, 'index' => $index);
}
function printCompactedVariables(){
/*…*/
# ніфіга не вийде
processMVCView('name', compact('var1', 'var2', extract($this->returnArray())));
}
}
Функція extract повертає
the number of variables successfully imported into the symbol table.
То напишіть свій аналог extract,щоб працював як вам потрібно.
Низький поріг входження, нестрога типізація, нестрогість взагалі... Це як дитині дозволяти робити щось, чого вона не розуміє ще.
Дуже не однозначним є твердження, що краще "бити дитину за ранні прорахунки"...
Обганяє по продуктивності Python, Perl i Ruby
http://habrahabr.ru/post/66562/
Так стаття за 2009 рік! Невже у світі програмування нічого не змінилось з того часу(це я про заголовок статті)?
Обганяє по продуктивності Python, Perl i Ruby
http://habrahabr.ru/post/66562/▼Прихований текст
Я особливо не придивлявся, тому поясніть мені різницю між mysql і mysqli інтерфейсами. ПДО поки облишимо.
mysqli - покращена версія mysql, яка краще працює з новими версіями мускула.
є ООП, підтримка транзакцій і ще деякі можливості.
Тобто рахується що це новіша версія драйвера для мускула, де використовуються якісь нові можливості і все таке. Я по привичці використовую mysql і PHP 5.3., все ок.
mysql зараз deprecated, це значить шо в наступних версіях PHP його можуть вирізати взагалі. На відміну від Microsoft, котра підтримує технології 95 вінди, навіть небезпечні (апі, в яких може бути буфер оверфлоу), Опенсорс діє тоталітарно. Випустили новий модуль - їм і користуйся, а старий виріжем зовсім.
Стаття ге вже в тому плані, що підрахунок починається з моменту запуска компілера, а не з моменту виконання програми. Таким чином, час на ініціалізацію створення віртуальної машини чи JIT-компіляції входить до складу часу виконання програми. Сподіваюсь в спільноті ktretyak`а не буде подібного срала-мазала.
PHP не може бути швидшим за Perl/Python. PHP завжди загружає в память різні модулі (див. phpinfo()), в той час як в Perl/Python вони в більшості підключаются вручну (use Socket; etc..);
Кому не лінь, перевірте власноруч.
Код,результати,скріни - кладіть сюди.
І продовження 68 поста про PHP i Python
http://habrahabr.ru/post/124346/
Стаття ге вже в тому плані, що підрахунок починається з моменту запуска компілера, а не з моменту виконання програми. Таким чином, час на ініціалізацію створення віртуальної машини чи JIT-компіляції входить до складу часу виконання програми. Сподіваюсь в спільноті ktretyak`а не буде подібного срала-мазала.
Та думаю буде і на моєму запланованому ресурсі щось не зовсім компетентне, причому в більшій мірі, бо не буде обмеження на реєстрацію та на написання публікацій.
Я сподіваюсь зробити просто ефективні фільтри, які дозволять бачити бажане.
public function agrExists($fileName) {
$uploadPath = Yii::app()->params['agreementsUploadDir'];
$r = glob($uploadPath . $fileName . '*', GLOB_NOSORT);
if (empty($r)){
return FALSE;
} else {
return $r;
}
}
В документації по функції glob написано що
Returns an array containing the matched files/directories, an empty array if no file matched or FALSE on error.
ДАлі:
if ($files = $this->agrExists($uid . '_' . $name) != FALSE){
foreach($files as $fileNames){…}}
Я очікував що, якщо фіункція поверне не FALSE, то в змінній $files буде масив, але ні. Там буде TRUE. Треба писати отак:
$files = $this->agrExists($uid . '_' . $name)
if ($files != FALSE){…}
В такому випадку, якщо функція поверне масив то в змінній $files таки буде масив. Я чогось не розумію.
@Invader можливо створіть окрему тему там можна буде розібратись з проблемою і написати тут уже результа