ورود

نسخه کامل مشاهده نسخه کامل : پردازش قالب مانند بلاگفا و جایگزینی مقدار در قالب سایت



as13851365
09-02-2009, 09:21
من می خوام یک چیزی مانند بلاگفا داشته باشم البته قسمت قالب سایت رو می گم
اگر به کد زیر توجه کنید بیشتر منظور من رو می فهمید :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اگه به کد بالا دقت کرده باشید حتما متوجه منظور من می شید

من می خوام قالب سایت خودم را مانند بلاگفا ایجاد کنم حالا اگه دوستان راهنمایی کنند خیلی ممنون می شم

من می خوان کدهای قسمت تک <a1> تا </a1> بردارم و در یک متغییر قرار بدم و بعد از تغییر دادن تک های چون <-PostLink-> و ... دوباره در قالب سایت جایگزین کنم

سوال : برای برداشتن کدهای قسمت تک <a1> تا </a1> چطوری باید عمل کنم

neopersia
09-02-2009, 16:43
من پیشنهاد میکنم برای هر تگ قالب یک تابع بنویسید و برای نمایش قالب دو مرحله ای عمل کنید
به این صورت که اول کدهای مربوط به قالب رو از دیتابیس یا فایل بخونید بعدش چک کنید ببینید تابع مربوط به اوت تگ در اسکرپت شما موجود هست یا نه در مرحله بعد اگر وجود داشت وقدار برگشتی اون تابع رو با تگ مربوط به خودش جایگزین کنید و بعد از جایگزینی همه تگها نتیجه رو برای کاربر چاپ کنید.
برای خوندن قالب باید یک الگوی رجکس بنویسید تا تگها رو استخراج کنه (یعنی با preg_match_all و امثالش مورد تگها باید استخراج بشه). برای جایگزین کردن هم میتونید از همون الگو استفاده کنی. اما در کل باید طوری عمل کنید که نتیجه بهینه باشه (باید تست کنید!) مثلاً تگها و مقادیرشون رو قبل از جایگزینی استخراج کنید تا در هنگام جایگزینی هر بار از اول کل متن برای جایگزنی تجزیه و تحلیل نشه و هر جا هم که ممکنه از توابع سبکتر مثل str_replace استفاده کنید

Ultimator
09-02-2009, 17:02
همین که یاسر گفت  ! 


-- 
میگم یاسر قالب تو دیتابیس ذخیره بشه بهتره یا یه فایل xml مثلا ؟! 
کدوم میتونه بهینه تر باشه !؟ 
البته نه جایی مثل بلاگفا که کلی یوزر داره سایت یه قالبه ! 

neopersia
09-02-2009, 18:28
فکر کنم دیتابیس بهتر باشه. البته تا حد زیادی هم بستگی به تعداد بازدید کننده و نوع DBMS ش داره.
بعضی جاها وقتی فشار روی دیتابیس زیاد باشه استفاده از فایل به صرفه تره! البته میشه برای قالب از یه مدل دیگه دیتابیس استفاده کرد که با دیتابیس اصلی تداخل پیدا نکنه. مثلاً تا جایی که من میدونم برای اینجور موارد SQLITE در مقایسه با MYSQL سرعتش بیشتره (اینم بگم که هر دوتاشون سرعت بیشتری نسبت به فایل دارنا!) اگر تعداد بازدید کننده اجازه بده که از SQLITE استفاده بشه ترکیب مناسبی هستن!
XML هم که یه جور فایله دیگه به هر حال اگه خوندنش مثل مورد قبلی باشه که فرقی نداره اگرم بخواد parse بشه و باقی حرفا که پردازش میبره تو سرور!

ولی بازم بگم باید بنچ مارک کنی تا به یه جواب مطمئن برسی!

این بود نظرات شخصی من :31: اگر جایی اشتباهی میبینید خواهشاً بگید تا منم اشتباه نرم چون دارم یه سیستم تمپلیت بیس مینویسم که قراره زیاد ازش استفاده کنم!