Задать вопрос
  • Возможно ли настройка удаленного доступа с Ipad на рабочий компьютер?

    DevMan
    @DevMan
    Сергей: дело не в моде. сам интерфейс iOS заточен под тыкание пальцамы, что не очень способствует плодотворному программированию.
  • Как исключить элементы массива?

    DevMan
    @DevMan
    Илья Трусов: да без разницы: вы в колбеке принимаете 2-а массива и решаете, что с ними делать.
    php.net/manual/ru/function.array-udiff.php

    PS как видите в моем примере учавствует только id, другие элементы не используются.
  • Как определить, что программа запущена на ноутбуке?

    DevMan
    @DevMan
    Александр: увы, но с реализацией я вам подсказать не могу.
  • Как определить, что программа запущена на ноутбуке?

    DevMan
    @DevMan
    > Ого и в самом деле такое чудо есть
    и не одно. ваш линк - это, грубо говоря, мобильный топовый десктоп, есть и проще.
    но если ноутов с десктопными процами неособо много, то десктопов и неттопов с мобильными процами валом.
  • Веб-дизайн и фронт-энд в одном флаконе, стоит ли?

    DevMan
    @DevMan
    Ingword: я о том что коль уж прокачан скил html+js, то прямая дорога в full-stack.
    и я знаю немало людей которые умеют это совмещать с дизайном. правда после определенного момента и прокачки скилов, большинство из них делает выбор либо в одну, либо в другою сторону.
    и это нормально.
  • Веб-дизайн и фронт-энд в одном флаконе, стоит ли?

    DevMan
    @DevMan
    tasce: Антон Ф.: в этом мире нет четких границ.
    хотя своим ответом я намекал товарищу куда ему нужно двигаться.
  • Драйверы к системам mac os x для видеокарт Nvidia?

    DevMan
    @DevMan
    так и есть: указанный драйвер нужен только для использования технологии cuda на поддерживаемых картах.
    видеодрайвер он не заменяет.
  • Драйверы к системам mac os x для видеокарт Nvidia?

    DevMan
    @DevMan
    Яков: мимо кассы: это только драйвер cuda, не более.
  • Стоит ли изучать такую штуку как Smarty?

    DevMan
    @DevMan
    Alexander Litvinenko: любой код плохо читается неподготовленным человеком.
    если для человека шаблонизатор состоит только и исключительно в "{% ... %} вместо <? ... ?>", то он ему действительно не нужен.
  • Стоит ли изучать такую штуку как Smarty?

    DevMan
    @DevMan
    Alexander Litvinenko:
    1. вы пропустили один if в PHP-коде
    2. > оба варианта выглядят плохо -> предложите лучший
  • Стоит ли изучать такую штуку как Smarty?

    DevMan
    @DevMan
    Alexander Litvinenko: > Безусловно ескейпить переменные надо чаще, но изучать ради этого еще один язык?
    какой язык? какой изучать?
    любой шаблонизатор осиливается за несколько часов. да и эскейпинг - не единственная плюшка.

    > про require\include было написано в весьма понятном контексте.
    контекст был весьма понятен: "покажите как одной командой в готовый php-шаблон подключить другой шаблон и заменить в нем часть верстки с информацией или добавить ее".
    require\include это не решает.
    > В ноде Jade/EJS
    в jade есть наследование шаблонов. и я тем более не понимаю как человек, знающий это, может тулить require\include как альтернативу.

    > аплодирую стоя, нить разговора соблюдена чудесно.
    да хоть лежа в гамаке. про логику и избавление от нее здесь гутарите только вы.

    > Ваш код, ваш собственный код который вы написали выше.
    ну если код вида
    <ul>
    <?php if(count($users)): ?>
    	<?php foreach($uasers as $user): ?>
    		<?php if($user->active): ?>
    		    <li><?= $user->username ?></li>
    		<?php endif; ?>
    	<?php endforeach; ?>
    <?php else: ?>
        <li><em>no active user found</em></li>
    <?php endif; ?>
    </ul>
    или
    <ul>
    <?php if(count($users)): 
    	foreach($users as $user):
    		if($user['active']): ?>
    		    <li><?= $user['username'] ?></li>
    		<?php endif;
    	endforeach;
    else: ?>
        <li><em>no active user found</em></li>
    <?php endif; ?>
    </ul>
    для вас выглядит более лучше, чем
    <ul>
    {% for user in users if user.active %}
        <li>{{ user.username }}</li>
    {% else %}
        <li><em>no active user found</em></li>
    {% endfor %}
    </ul>
    и готовы терпеть даже такой банальный пример ради того, чтоб не "подключать библиотеку" (наверное микроволновки программируете), то шаблонизаторы реально вам не нужны.
    кактус же вкусный, и не требует библиотек.
  • Стоит ли изучать такую штуку как Smarty?

    DevMan
    @DevMan
    Alexander Litvinenko: > одинаково пишется когда надо и ненадо экскейпить?
    по дефолту эскейпятся все переменные.
    если не нужно эскейпить какую-либо переменную, можно отключить эскейпинг для нее.
    теперь сравните какой подход требует меньших телодвижений.

    > В чистом пхп это require\include, но думаю вы всеже имели ввиду случай с фреймворками.
    у вас нормально с прочтением и пониманием написанного?
    вы точно владеете рельсами и питоновскими фреймворками?
    какой шаблонизатор используете для ноды?
    сравнивать require/include с наследованием может только человек, который не понимает о чем речь.
    если не в курсе, то хоть поинтересуйтесь что такое template inheritance.

    > на связь дизайна со стеком, в контексте вопроса, думаю вы сами ответите.
    погодите, вы же сами пишете что со сменой стека меняется и дизайн. связь то какая?

    > думаю объяснять что цикл в шаблоне или фильтр в шаблоне - это логика, не нужно.
    нужно объяснить фразу "Та самая логика, от которой пытаетесь избавится".
    кто пытается избавиться и, главное, зачем?
    или вы можете предемонстрировать шаблон, не имеющий логики отображения?

    > Пример с кодом выше.
    никакого примера вашего кода не наблюдаю.
  • Стоит ли изучать такую штуку как Smarty?

    DevMan
    @DevMan
    Alexander Litvinenko: я вовсе не злюсь.

    > автоэскейпинг
    > Это одна команда, что в шаблонизаторе, что в PHP
    да ну? в шаблонизаторе автоматически эскейпятся все переменные, мне вообще об этом думать не нужно.

    > наследование
    > Это одна команда, что в шаблонизаторе, что в PHP
    покажите как одной командой в готовый php-шаблон подключить другой шаблон и заменить в нем часть верстки с информацией или добавить ее.
    а может вы поклонник спагетти-кода? тогда вопросов больше не будет.

    > высокая или абсолютная независимость от платформы
    > Аргумент, но часто ли сохраняют старый дизайн, когда проект переписывают в нуля, на другом языке? Недумаю что это когдалибо используется.
    "не знаю" не означает "не существует". я неоднократно сталкивался как с миграцией целых проектов на новый стек, так и их отдельных частей. дизайн разумеется оставался прежним либо полностью, либо практически полностью.
    может откроете страшную тайну как дизайн связан со стеком?

    > - всякие полезняшки в виде фильтров (что избавляет от необходимости городить городушки в шаблонах или лезть в код) и дополнительные ништяки для циклов.
    > Та самая логика, от которой пытаетесь избавится, только другими буквами написана.
    от какой логики и кто пытается избавиться?

    > - невозможность выполнения кода в шаблоне, соответственно меньше пространства для выстрела в яйцо и прочие косяки
    > Пункт выше говорит что это нетак.
    это именно так.

    > - чистый синтаксис, вместо кучи открывающих/закрывающих php-тэгов (особенно для управляющих конструкций)
    > Вместо `<?= ..... ?>` ставить `{{ ..... }}` ? Большое преимущество.
    сам шучу - сам смеюсь?
    код
    <?php if ($a == 5): ?>
    	A равно 5	
    <?php elseif ($a == 6): ?>
    	A равно 6
    <?php else: ?>
    	А не равно ни 5 ни 6
    <?php endif; ?>
    выглядит гораздо лучше, чем
    {% if a == 5 %}
        A равно 5
    {% elseif a == 6 %}
        A равно 6
    {% else %}
        А не равно ни 5 ни 6
    {% endif %}
    да? а код
    <ul>
    {% for user in users if user.active %}
        <li>{{ user.username }}</li>
    {% else %}
        <li><em>no active user found</em></li>
    {% endfor %}
    </ul>
    можете переписать на php сами и порадоваться.

    > У меня всего один агрумент против
    > Зачем подключать библиотеку, для того чтобы вместо `<?= ..... ?>` ставить `{{ ..... }}` ?
    если вы шаблонизатор используете только для этого, то действительно незачем.
  • Стоит ли изучать такую штуку как Smarty?

    DevMan
    @DevMan
    Alexander Litvinenko: у меня просто не было желания повторять то, что вам было сказано не раз.
    но если у вас короткая память, то хороший шаблонизатор предоставит:
    - автоэскейпинг
    - наследование
    - высокая или абсолютная независимость от платформы
    - всякие полезняшки в виде фильтров (что избавляет от необходимости городить городушки в шаблонах или лезть в код) и дополнительные ништяки для циклов
    - невозможность выполнения кода в шаблоне, соответственно меньше пространства для выстрела в яйцо и прочие косяки
    - чистый синтаксис, вместо кучи открывающих/закрывающих php-тэгов (особенно для управляющих конструкций)

    наверняка что-то упустил, но даже перечисленного мне достаточно для выбора в пользу шаблонизатора.