صفحه اول آخرین ارسال ها جستجو بایگانی راهنما تقویم تماس با ما
مـحل تبلیــغات 

 

مـحل اخبــار و اطلاعیــه ها

«درصـورت بـروز هـرگـونه مشــکلات بـراي ســايت ... جـهت اطـاعات به وبــلاگ پشــتيبـان سـايت مـراجعـه فـرماييد»

«درخــواست مـديـريـت تـوسط شـما کـاربـران عـزيز و گــرامي»

«آپـلود سـنتر پـرقدرت بـا حجم آپـلود بـالاي فـايل هـاي شـما»

مــشاهـدۀ ســایـت به زبــان دیــگر

قدیمی 13 Feb 2011   #1
GodMaster
Administrator
 
GodMaster آواتار ها
 
تاریخ عضویت: Dec 2010
نوشته ها: 1,498
Thanks: 76
Thanked 6 Times in 5 Posts
پیش فرض آموزش Smarty - قسمت سوم : پیکربندی Smarty و استفاده در PHP

آموزش Smarty - قسمت سوم : پیکربندی Smarty و استفاده در PHP

پیکربندی Smarty - استفاده از Smarty در PHP



در این مقاله نحوه استفاده از Smarty در PHP را آموزش خواهم داد.

- آخرین کاری که در قسمت دوم انجام دادیم ساخت فایل config.php در فولدر include بود. حالا فایل config.php را باز کنید و دستورات زیر را درون آن قرار دهید:

  • <?php
  • // SITE_ROOT contains the full path to the eshop folder
  • define('SITE_ROOT', dirname(dirname(__FILE__)));
  • // Application directories
  • define('PRESENTATION_DIR', SITE_ROOT . '/presentation/');
  • define('BUSINESS_DIR', SITE_ROOT . '/business/');
  • // Settings needed to configure the Smarty template engine
  • define('SMARTY_DIR', SITE_ROOT . '/libs/smarty/');
  • define('TEMPLATE_DIR', PRESENTATION_DIR . 'templates');
  • define('COMPILE_DIR', PRESENTATION_DIR . 'templates_c');
  • define('CONFIG_DIR', SITE_ROOT . '/include/configs');
  • ?>

در این فایل مسیر فولدرهای پروژه را با استفاده از تابع define تبدیل به Constant (ثبات) می کنیم تا هرجا که نیاز بود از آنها استفاده کنیم.
در پی اچ پی (__ dirname(__FILE نام فولدری که فایل جاری در آن قرار دارد (Parent Category ) را بر می گرداند
قاعدتا کدی که در خط سوم استفاده شده است نام فولدر قبلی فولدری که فایل جاری (config.php) در آن قرار دارد را بر می گرداند.
با توجه به شاخه هایی که در بخش های قبلی ایجاد کردیم، مسیر فایل config.php به صورت زیر است

  • eshop/include/config.php


و دستور خط سوم باید نام شاخه root پروژه 'eshop' را به ما برگرداند.
بنابراین ما constant مربوط به SITE_ROOT را ایجاد می کنیم و در خطوط بعدی نیز بر اساس مسیر موجود در SITE_ROOT بقیه مسیرها را نیز تبدیل به constant می کنیم.


- در فولدر presentation که در شاخه اصلی پروژه قرار دارد یک فایل به نام application.php ایجاد کنید و کدهای زیر را در آن قرار دهید:

  • <?php
  • // Reference Smarty library
  • require_once SMARTY_DIR . 'Smarty.class.php';
  • /* Class that extends Smarty, used to process and display Smarty
  • files */
  • class Application extends Smarty
  • {
  • // Class constructor
  • public function __construct()
  • {
  • // Call Smarty's constructor
  • parent::Smarty();
  • // Change the default template directories
  • $this->template_dir = TEMPLATE_DIR;
  • $this->compile_dir = COMPILE_DIR;
  • $this->config_dir = CONFIG_DIR;
  • }
  • }
  • ?>

در این فایل با استفاده از extend یک کلاس فرزند از Smarty به نام application ایجاد میکنیم (تئوری ارث بری در شی گرایی)
در constructor کلاس application با استفاده از Parent Operator ابتدا Constructor خود Smarty را فراخوانی می کنیم و سپس با استفاده از constant هایی که در فایل config.php از مسیر فولدرها ایجاد کردیم، تنظیمات اولیه Smarty را تعیین می کنیم.

- در شاخه اصلی پروژه یک فایل به نام index.php ایجاد کنید و این کدها را در آن قرار دهید:

  • <?php
  • // Include utility files
  • require_once 'include/config.php';
  • // Load the application page template
  • require_once PRESENTATION_DIR . 'application.php';
  • // Load Smarty template file
  • $application = new Application();
  • // Display the page
  • $application->display('eshop_front.tpl');
  • ?>

در این فایل ابتدا فایل config.php را با استفاده از require_once فراخوانی می کنیم تا به constant هایی که تعریف کردیم دسترسی پیدا کنیم.
سپس فایل application.php را فراخونی می کنیم.
با استفاده از new یک نمونه از آبجکت application ایجاد می کنیم
در Object ایجاد شده، با استفاده از متد display فایل eshop_front.tpl که قبلا در شاخه templates ایجاد کرده بودیم را فراخوانی می کنیم.

در صورتیکه xampp را نصب کرده اید کل پروژه را در فولدر htdocs موجود در xampp کپی کنید.
در Browser این آدرس را وارد کنید تا نتیجه کارتان را ببینید:
http://localhost/eshop/
__________________
سوالات خود را در اينجا مطرح كنيد تا در كمترين زمان ممكن به پاسخ خود برسيد
GodMaster آنلاین نیست.   پاسخ با نقل قول

5 Lastest Threads by GodMaster
Thread Forum Last Poster Replies Views Last Post
قیمت خودروهای وارداتی - بهمن 92 قيمت اتومبيل GodMaster 0 9214 01 Feb 2014 01:17
قیمت مدلهای پروتون – زاگرس خودرو - بهمن 92 قيمت اتومبيل GodMaster 0 6652 01 Feb 2014 01:16
قیمت خودروهای هوندا – فامیلی موتور - بهمن 92 قيمت اتومبيل GodMaster 0 6553 01 Feb 2014 01:16
قیمت خودروهای ولوو – افراموتور - بهمن 92 قيمت اتومبيل GodMaster 0 6262 01 Feb 2014 01:15
قیمت خودروهای آلفارومئو – آلفاموتور - بهمن 92 قيمت اتومبيل GodMaster 0 5960 01 Feb 2014 01:14

پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 
ابزارهای موضوع جستجو در موضوع
جستجو در موضوع:

جستجوی پیشرفته
نحوه نمایش

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code فعال است
شکلک ها فعال است
[IMG] فعال است
کد HTML غیر فعال است

انتخاب سریع یک انجمن

موضوعات مشابه
موضوع نویسنده موضوع انجمن پاسخ ها آخرين نوشته
آموزش Smarty - قسمت دوم: پیکربندی Smarty GodMaster PHP 0 13 Feb 2011 11:19
آموزش Smarty - قسمت اول نصب Smarty GodMaster PHP 0 13 Feb 2011 11:10


اکنون ساعت 14:48 برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.