• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
همکاری برای افزایش کارایی کد
#1
سلام

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

برنامه به این صورت کار می کند که با اجرای صفحه index ابتدا توسط صفحه defines ادرس تمام پوشه های اصلی در ثابت هایی قرار گرفته تا دست رسی به انها اسان شود سپس توسط کلاس control که در پوشه کلاس و فایل control.class.php قرار دارد و واسط بین دو کلاس دیگر است با کلاس model ارتباط بر قرار کرده و اطلاعات قسمت های مختلف template شامل menu , content و.... را از درون فایل خوانده و در یک متغییر قرار داده و دوباره توسط کلاس control ان اطلاعات را برای صفحه model ارسال می کند این کلاس مقادیر درون فایل را اجرا میکند و در این اجرا یک ارایه به وجود می اید که مقادیر این ارایه را در متغییر های داخل کلاس قرار داده و هنگام نابودی کلاس ساختار اصلی template را از پوشه ای با همین نام فرخوانی کرده و متغییر ها را در این فایل جایگذین کرده و به خروجی ارسال می کند .

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

مشکلات زیادی در این ساختار وجود دارد که نیاز هست همه کمک کنن تا یک ساختار منطقی و درست برای ان به وجود بیاوریم .


فایل‌های پیوست
.zip   project.zip (اندازه 3.61 KB / تعداد دانلود: 12)
  پاسخ
تشکر شده توسط :
#2
والا من دانلودش کرد اما فقط دانلودش کردم - اینجا قابلیت این رو نداشتم که اجراش کنم ولی خب به کدها نظر انداختیم -
ایا تو می خواستی اینجا چی نشون بدی
MVC؟ یا یه template ؟
------------------------------------
کد پی‌اچ‌پی:
eval($files);
$files="";
foreach(
$temp as $key =>$var)
{
    
$files.="\$this->$key='$var';";
}
eval(
$files); 
چرا files رو خالی می کنی تو دومین خط
  پاسخ
تشکر شده توسط :
#3
files$ میاد و محتوی اون فایلی که ساختیم برای قسمت هایی مانند keywords و content رو نگه میداره

حالا چرا محتوای فایل رو داخل متغییر ریختم و بعد متغییر رو eval کردم .

من فکر کردم که اگه در جایی در داخل فایل متنیمون جای keyword با content عوض شد ساختار به هم نریزه

مثلا داخل فایل متنی ای که برای صفحه index درست کردیم متن زیر قرار داره.

کد:
$temp["keywords"]="php,iranphp,bestsite,keywors for site";
$temp["description"]="this is descrip for my site";
$temp["content"]="<h1>محتوای تولید شده برای سایت  </h1>";
حالا من با eval کردن این متن که داخل $files قرار داره یک ارایه به نام temp ایجاد می کنم که سه عنصر داره و هر عنصر هم دارای اندیس مشخص هست .
حالا بعد از اینکه رشته ایکه داخل $files هست رو اجرا کردم اون رو خالی می کنم و با یک foreach ساختاری مانند زیر رو میسازم .
کد پی‌اچ‌پی:
$this->keywords="php,iranphp,bestsite,keywors for site" 

و بعد این ساختار رو توسط یک eval دیگه اجرا می کنم و در اخرهم با فراخوانی فایل اصلی template اون مقادیر رو در اون قرار میدم .

یه وال رو سیستممت اجرا نشد؟
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان