[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передача данных в шаблонах с наследованием
Страницы: 1, 2, 3
sergeiss
Цитата (SerginhoLD @ 23.02.2015 - 16:24)
а то досталось по наследству от какой-то курицы-краба, где все прыгает/бегает в разные стороны, то табы, то 3 пробела, то 4, то на одной строке 2-3 условия, и тут на тебе, конструкции с двоеточиями, красота просто

Насчет нескольких условий в одной строке ничего не скажу, а вот когда "то табы, то разные пробелы", то в Шторме очень легко исправляется. Выделил код, вырезал и тут же вставил. И - о чудо Маниту! - код уже отформатирован с нужными отступами и вообще "правильно" переформатирован smile.gif То есть так, как ты определил в настройках.
Можно это же сделать через меню Code->Reformat Code (Ctrl+Alt+L). Но мне "копипаста" почему-то больше нравится. К тому же, если переносишь блок кода выше-ниже, то все равно "копипаста" получается. И при этом отступы убавляются-добавляются у вставляемой части, в зависимости от места в коде.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
killer8080
Цитата (SerginhoLD @ 23.02.2015 - 15:12)
если я нажал на начало блока, я хочу чтобы конец выделился, все

netbeans так и делает, при установке курсора на двоеточие подсвечивает закрывающую конструкцию


user posted image
YVSIK
смотря на эту тему
тут такое началось)) blink.gif
каждый требует своего))
одному не нравиться /нет подсветки/
другой вообще готов кашу html поддерживать
дополнительные дивы вводит
и начали кармы править мол не так ответили

это есть говно-код во всей его красе
Цитата (chee @ 22.02.2015 - 17:11)
<body>
        <div class="container">
            <?php echo $this->section('header'); ?>
            <div><br/></div>
            <?php echo $this->section('body'); ?>
            <div><br/></div>
            <?php echo $this->section('footer'); ?>
        </div>
    </body>

тут дивы дополнены чтоб перевести коретку



_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
KaFw
YVSIK, где говнокод-то. php код в html, ну ты и сам так пишешь, выше дали ссылку на твой сайт, а вообще это нативная шаблонизация. Не правильные тэги в html коде, ну видимо автор не замарачивался этим и в его цели это не входило.
YVSIK
Цитата (KaFw @ 7.03.2015 - 12:23)
где говнокод-то.

вот
Цитата (chee @ 22.02.2015 - 17:11)
<div><br/></div>



_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
Invis1ble
Цитата
netbeans так и делает, при установке курсора на двоеточие подсвечивает закрывающую конструкцию

еще там можно так: ставишь на двоеточие, жмешь "Ctrl + {" и курсор перемещается на закрывающую конструкцию (тоже самое и со скобками)

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

chee
Invis1ble, лол и правда работает, всё таки netbeans очушенная IDE. :)

Кстати у меня тут появился новый вопрос, косвенно связанный с этой тематикой.

Есть у меня например повторяющийся код в шаблоне, ну например для текстового поля. Я его выношу в отдельный шаблон и подключаю в массиве. Если я это делаю через инклюд, то производительность резко падает, если я это делаю через eval, то он производительный в 10 раз, и если я это делаю через каллбеки, то производительность растёт в 100 раз по сравнению с инклюдом.

Что бы понять о чём речь, вот бенчмарк, который я запускал:

benchmark.php

$start = microtime(true);
for ($x = 1; $x < 100000; $x++) {
$ii = 11;
}
echo microtime(true) - $start, "\n";

$start = microtime(true);
$z = require_once 'field2.php';
for ($x = 1; $x < 100000; $x++) {
$z($x, $x, $x, $x, $x, $x);
}
echo microtime(true) - $start, "\n";

$start = microtime(true);
for ($x = 1; $x < 100000; $x++) {
eval('$ii = 11;');
}
echo microtime(true) - $start, "\n";

$start = microtime(true);
for ($x = 1; $x < 100000; $x++) {
require 'field.php';
}
echo microtime(true) - $start, "\n";


field.php

<?php $ii = 1;?>


field2.php

<?php return function () { ?>
<?php
$ii = 1;?>
<?php
} ?>


Короче, если еще какие-то способы реализовать подключение шаблоновов в цикле, кроме этих? Я гуглил тему, но не нашел. Но! В например в SugarCRM используется совсем другой подход это генерация шаблонов для шаблонов, очень сложная концепция, но рабочая. Я её не хочу применять.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

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