CodeIgniter или эквивалент PHP направляющих Partials и шаблоны

Вы можете выбросить Java Exception, например, IllegalArgumentException, из уровня JNI, как показано ниже:

//JNIEnv *env,

jclass jcls = env->FindClass("java/lang/IllegalArgumentException");
env->ThrowNew(jcls, "Argument cannot be null.");

Кроме того, вы можете проверить статус исключения в уровне JNI, как показано ниже:

//JNIEnv *env,

jboolean flag = env->ExceptionCheck();
if (flag) {
    env->ExceptionClear();
    /* code to handle exception */
}
6
задан Community 23 May 2017 в 10:26
поделиться

10 ответов

Возможно, я нарушаю какое-то правило MVC, но я всегда просто помещаю свои «фрагменты» в отдельные представления и загружаю их, стиль CodeIgniter, из других представлений, которые нуждаются в них. Практически все мои представления загружают представление верхнего и нижнего колонтитула сверху и снизу соответственно:

<? $this->load->view( "header" ); ?>
//Page content...
<? $this->load->view( "footer" ); ?>

Заголовок может затем включать NavBar таким же образом и т. Д.

13
ответ дан 8 December 2019 в 05:23
поделиться

это по сути то, что я использую:

function render_partial($file, $data = false, $locals = array()) {
    $contents = '';

    foreach($locals AS $key => $value) {
        ${$key} = $value;
    }

    ${$name . '_counter'} = 0;
    foreach($data AS $object) {
        ${$name} = $object;

        ob_start();
        include $file;
        $contents .= ob_get_contents();
        ob_end_clean();

        ${$name . '_counter'}++;
    }

    return $contents;
}

это позволяет вам вызывать что-то вроде:

render_partial('/path/to/person.phtml', array('dennis', 'dee', 'mac', 'charlie'), array('say_hello' => true));

и в / У path / to / person.phtml есть:

<?= if($say_hello) { "Hello, " } ?><?= $person ?> (<?= $person_counter ?>)

происходит какое-то волшебство, хотя оно может помочь вам лучше понять происходящее. полный файл: view.class.php

5
ответ дан 8 December 2019 в 05:23
поделиться

В PHP вы бы использовали , включая

3
ответ дан 8 December 2019 в 05:23
поделиться

Это, к сожалению, совсем не специфично для CodeIgniter, однако я предлагаю вам взглянуть на Savant3 система шаблонов. Это позволяет визуализировать шаблон в строку. Затем вы можете просто прикрепить его туда, куда хотите.

Может быть, что-то подобное в CodeIgniter?

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

0
ответ дан 8 December 2019 в 05:23
поделиться

CodeIgniter и Smarty прекрасно играют вместе.

0
ответ дан 8 December 2019 в 05:23
поделиться

Symfony делает это с помощью своей установки partial / component .

-2
ответ дан 8 December 2019 в 05:23
поделиться

Вот сообщение в блоге, описывающее, как использовать smarty с codeigniter . Также реализована мастер-страница, похожая на asp.net.

0
ответ дан 8 December 2019 в 05:23
поделиться

I found myself moving from Rails to CI too, and what I did with partials is basically render the partials in the view as a variable and set it from the controller.

So in the view you would have something like (_partial.php):

<h2>Here Comes The Partials</h2>
<?= $some_partials ?>

And you can set it from the controller like:

$this->load->view('the_view', 
   array('some_partials', 
         $this->load->view('_partial', array(), TRUE)
   )
);

Personally, I prefer to use CI's view instead of ob_start, but that's me =) PS: When loading views, first argument is the view name, second one is the parameters to be passed to the view, and the third one is "ECHO" flag, which basically tells CI whether to render it directly or return the value of the view instead, which is basically what I did in the example.

I don't think it's a good solution though, but it works for me. Anyone has better solutions?

2
ответ дан 8 December 2019 в 05:23
поделиться

Так работает моя недавно выпущенная Библиотека шаблонов.

Эта библиотека шаблонов также хорошо играет с моей Dwoo реализацией, которая даст вашим взглядам гораздо больше мощности.

.
2
ответ дан 8 December 2019 в 05:23
поделиться

Попробуйте Ocular - http://codeigniter.com/wiki/Ocular_Layout_Library/ - это библиотека шаблонов на основе rails.

0
ответ дан 8 December 2019 в 05:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: