نمایش نتایج 1 تا 4 از 4

نام تاپیک: کدهای موجود در module.config

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    اصفهان
    پست
    232

    کدهای موجود در module.config

    سلام به دوستان ، میخواستم بدونم که پارامترهای موجود در این فایل دقیقا چی هستند ، آیا یادگیری اونها لازم هست !!
    return array(
    'router' => array(
    'routes' => array(
    'home' => array(
    'type' => 'Zend\Mvc\Router\Http\Literal',
    'options' => array(
    'route' => '/',
    'defaults' => array(
    'controller' => 'Application\Controller\Index',
    'action' => 'index',
    ),
    ),
    ),
    // The following is a route to simplify getting started creating
    // new controllers and actions without needing to create a new
    // module. Simply drop new controllers in, and you can access them
    // using the path /application/:controller/:action
    'application' => array(
    'type' => 'Literal',
    'options' => array(
    'route' => '/application',
    'defaults' => array(
    '__NAMESPACE__' => 'Application\Controller',
    'controller' => 'Index',
    'action' => 'index',
    ),
    ),
    'may_terminate' => true,
    'child_routes' => array(
    'default' => array(
    'type' => 'Segment',
    'options' => array(
    'route' => '/[:controller[/:action]]',
    'constraints' => array(
    'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
    'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
    ),
    'defaults' => array(
    ),
    ),
    ),
    ),
    ),
    ),
    ),
    'service_manager' => array(
    'factories' => array(
    'translator' => 'Zend\I18n\Translator\TranslatorServiceFactory',
    ),
    ),
    'translator' => array(
    'locale' => 'en_US',
    'translation_file_patterns' => array(
    array(
    'type' => 'gettext',
    'base_dir' => __DIR__ . '/../language',
    'pattern' => '%s.mo',
    ),
    ),
    ),
    'controllers' => array(
    'invokables' => array(
    'Application\Controller\Index' => 'Application\Controller\IndexController'
    ),
    ),
    'view_manager' => array(
    'display_not_found_reason' => true,
    'display_exceptions' => true,
    'doctype' => 'HTML5',
    'not_found_template' => 'error/404',
    'exception_template' => 'error/index',
    'template_map' => array(
    'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
    'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
    'error/404' => __DIR__ . '/../view/error/404.phtml',
    'error/index' => __DIR__ . '/../view/error/index.phtml',
    ),
    'template_path_stack' => array(
    __DIR__ . '/../view',
    ),
    ),
    );


    منظورم از پارامتر ها ، مثل router ، routs ، type ، option ، یا home هست !!

  2. #2
    کاربر دائمی آواتار mtchabok
    تاریخ عضویت
    آذر 1389
    محل زندگی
    مازندران - ساری
    سن
    37
    پست
    560

    نقل قول: کدهای موجود در module.config

    سلام
    home نام روت هست مثل application . از این اسامی میتونید در لینکها استفاده کنید تا آدرسهای لینکهاتون به قالب روت آدرسدهی بشن .
    type هم مربوط به نوع روت میشه که میتونه literal ، hostname و ... باشه . لینک
    route هم مسیر پردازشی رو مشخص میکنه و روتر با پردازش آدرس درخواست شده و مقایسه اون با این مسیر ، روت مورد نظر رو انتخاب و اجرا میکنه .
    defaults مقادیر پیشفرض برای متغیرها هست که میتونیم هر چیزی رو تعریف کنیم و مقدار بهش بدیم که در فایل کنترلر توسط رکوئست بهش دسترسی داریم . ( بهتر هست که حتما مغیرهایی همچون controller و action مقدار پیش فرض داشته باشن .

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    اصفهان
    پست
    232

    نقل قول: کدهای موجود در module.config

    من با این مفاهیم روتر و روت اینا آشنایی ندارم ، میشه یه راهنمایی بکنید !

  4. #4
    کاربر دائمی آواتار mtchabok
    تاریخ عضویت
    آذر 1389
    محل زندگی
    مازندران - ساری
    سن
    37
    پست
    560

    نقل قول: کدهای موجود در module.config

    در زند فریم ورک برای تشخیص مسیر درخواستی بازدیدکننده از روتر استفاده میشه . به این صورت که روت های مختلف و با نام های متفاوتی رو برای روتر تعریف میکنیم سپس در هنگام تشخیص مسیر درخواستی بازدیدکننده ، روتر دونه دونه روتها رو بررسی میکنه هر کدوم از روتها که هماهنگی بیشتری با آدرس درخواستی داشتن به عنوان مسیر درخواستی تعیین شده و در روتر ثبت میشن و سپس کنترلر مربوط اجرا میشه .
    نام های متفاوت در روتها به این دلیل هست که در زمان ایجاد آدرس از اونها استفاده بشه . زمانیکه میخواید آدرسی بنویسید میتونید بر اساس قالب روت آدرس رو تعریف کنید .
    مثالی رو براتون میزنم از همین کانفیگی که گذاشتین :
    اگه بازدید کننده آدرس
    http://localhost/

    رو درخواست بده روت home اجرا میشه چونکه در options->route شما / وجود داره یعنی اینکه تمامی آدرسها . که به اینصورت کنترلر
    Application\Controller\Index

    و اکشن index اجرا خواهد شد .
    ولی اگه بازدیدکننده
    http://localhost/application

    رو درخواست بده اتفاق دیگه ای می افته و اونم اینه که برای روت application فرزندی قرار داده شده در این حالت روت application انتخاب شده و برای تعیین مسیر از روتهای درون child_routes استفاده خواهد شد که در اینجا ما داریم
    /[:controller[/:action]]

    یعنی اینکه اولین پوشه به عنوان نام کنترلر و دومین پوشه اگه وجود داشت به عنوان نام اکشن استفاده خواهد شد .
    این روش فرزند برای موارد خاص استفاده میشه و طبق توضیح در کانفیگ برای عدم استفاده از ماژول هست .

تاپیک های مشابه

  1. سوال: تغییر Connection String موجود در app.config در UI
    نوشته شده توسط hadi-z در بخش C#‎‎
    پاسخ: 7
    آخرین پست: یک شنبه 06 شهریور 1390, 22:43 عصر
  2. سوال: ویرایش مقادیر موجود در فایل config
    نوشته شده توسط moferferi در بخش C#‎‎
    پاسخ: 6
    آخرین پست: پنج شنبه 11 آذر 1389, 08:54 صبح
  3. پاسخ: 3
    آخرین پست: یک شنبه 31 مرداد 1389, 19:40 عصر
  4. سوال: دست یابی به کانکشن استرینگ موجود در web.config
    نوشته شده توسط YourWorldToday در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 22 تیر 1388, 04:02 صبح
  5. کد کردن ConnectionString موجود در app.Config ؟
    نوشته شده توسط ho3einn در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: جمعه 11 اردیبهشت 1388, 02:56 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •