Используя формы с Платформой Зенда

Попробуйте help end в Октаве. Это даст вам то, что вы ищете.

В Octave и Matlab есть две функции поиска помощи, help и doc. (doc - это то, что вызывает браузер документации GUI.) И они дадут вам разные результаты для одинаковых тем! Поэтому всегда пробуйте оба, когда вы ищете что-то.

И нет ничего плохого в том, чтобы просмотреть ответы Matlab doco и Stack Overflow. Octave довольно совместим с Matlab, поэтому все, что вы найдете там для базовых языковых функций (за исключением string, table и datetime), будет применяться и к Octave.

11
задан Andrew 23 March 2009 в 18:19
поделиться

6 ответов

Немного поздно, но в текущей версии ZF эта проблема решена:

На следующей странице http://framework.zend.com/manual/en/zend.loader.autoloader- resource.html В руководстве указано:

30.3.2. Автозагрузчик ресурсов модуля Zend Framework поставляется с конкретной реализацией Zend_Loader_Autoloader_Resource, которая содержит сопоставления типов ресурсов, которые покрывают рекомендованную по умолчанию структуру каталогов для приложений Zend Framework MVC. Этот загрузчик, Zend_Application_Module_Autoloader, имеет следующие сопоставления:

api/         => Api
forms/       => Form
models/      => Model
    DbTable/ => Model_DbTable
plugins/     => Plugin

Например, если у вас есть модуль с префиксом «Blog_», и вы попытались создать экземпляр класса «Blog_Form_Entry», он будет искать в формах каталога ресурсов / "подкаталог для файла с именем" Entry.php ". При использовании начальной загрузки модулей с Zend_Application экземпляр Zend_Application_Module_Autoloader будет создан по умолчанию для каждого дискретного модуля, что позволит вам автоматически загружать ресурсы модуля.

Однако это требует использования Zend_Application

11
ответ дан 3 December 2019 в 06:22
поделиться

По состоянию на март '09 ZF думал, что лидеры все еще, кажется, обсуждают лучшие способы организовать все. Существует генератор лесов как часть Zend_Tool, намеченного для выпуска в ZF v1.8. Это в настоящее время находится в инкубаторе, я попробовал его на прошлой неделе, и это работает, но нет многих компонентов, сгенерированных в его текущем состоянии.

От примеров я видел, что кажется, что ими лучше всего управляют отдельные от моделей, они взаимодействуют с (это от Платформы Зенда В Действии):

/application
    /modules/
        /default
            /controllers
            /forms
                ContactForm.php
                LoginForm.php
                RegisterForm.php
                SupportForm.php
            /models
                Comment.php
                User.php
                Users.php
            /views
        /admin
            /controllers
            /views

Однако я также видел структурированный с формами ниже каталога модели. Matthew Weier O'Phinney показывает, как использовать их для проверки на самих моделях:

/application
    /modules/
        /default
            /controllers
            /models
                Comment.php
                User.php
                /Form
                    Comment.php
                    Login.php
                    Register.php
            /views
        /admin
            /controllers
            /views

Иметь Ваши файлы, автоматически включенные убедиться назвать Ваши классы с помощью модели подчеркивания.

Например, когда Zend_Loader видит

 class RegisterController extends Zend_Controller_Action

Это смотрит в php include_path для:

Zend/Controller/Action.php

Точно так же принимая первую структуру выше, если мы включаем модуль 'по умолчанию' в наш include_path:

# bootstrap.php
$rootDir = dirname(dirname(__FILE__));
define('ROOT_DIR', $rootDir);
set_include_path(get_include_path()
    . PATH_SEPARATOR . ROOT_DIR . '/library/'
    . PATH_SEPARATOR . ROOT_DIR . '/application/modules/default/'
);
include 'Zend/Loader.php';
Zend_Loader::registerAutoload();

Вы называете свои классы:

Forms_ContactForm
Models_User

Некоторые программисты принимают решение поместить большинство своих файлов в библиотеку, таким образом, они не должны добавлять дополнительный, включают пути:

/library
    /My
        /Form
            Contact.php

Принятие папки библиотеки включено, класс выше назвали бы:

My_Form_Contact

Всего наилучшего - Матовый

2
ответ дан 3 December 2019 в 06:22
поделиться

Я поместил все свои модели в папку в библиотеке. Понятие является названием моей компании.

/application
/modules/
    /default
        /controllers
        /views
    /admin
        /controllers
        /views
/libray/
    /Zend
    /Notion
        /Form

Это помогает включать и найти файлы, поскольку Вам уже включали папку библиотеки.

Notion_Form_Login
Notion_Db_Manager_Login
-1
ответ дан 3 December 2019 в 06:22
поделиться

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

/application
/forms
/modules/
    /default
        /controllers
        /views
    /admin
        /controllers
        /views
/libray/
    /Zend

и я просто добавил путь формы к includes_path, и я хорош для движения.

1
ответ дан 3 December 2019 в 06:22
поделиться

Лично, я нашел самым легким вставить мой каталог модуля включать путь и назвать мои классы формы в шаблоне Загрузчика Зенда.

Структура каталогов в качестве примера (копирование с ответа Matt):

/application
    /modules/
        /default
            /controllers
            /forms
                Contact.php
                Login.php
                Register.php
                Support.php
            /models
                Comment.php
                User.php
                Users.php
            /views
        /admin
            /controllers
            /views

Имена классов формы в качестве примера:

Default_Forms_Contact
Default_Forms_Login
Default_Forms_Register
Default_Forms_Support

Я называю свои модели и плагины так же для хранения вещей простыми.

Я надеюсь, что эта проблема решается правильно в более поздних версиях Платформы Зенда.

ОБНОВЛЕНИЕ: Эта структура не продолжает работать *, отклоняют платформы. Найденный, что твердый путь! Загрузчику Зенда нужны модуль, формы и папки моделей, которые будут использованы для своей выгоды для работы в чувствительной к регистру среде.

1
ответ дан 3 December 2019 в 06:22
поделиться

инструмент команд zend может создавать формы для этого:

zf create форма product sales

, где sales - это имя модуля, командный инструмент создает форму каталога внутри модуля sales и файл Product.php с классом:

class sales_Form_Product extends Zend_Form {

, и вы должны добавить определение de Zend_Application_Module_Autoloader, чтобы определите каталог вашего модуля

1
ответ дан 3 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

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