PDA

View Full Version : سوال در مورد استفاده از فايل هاي tpl در php


payamix
21 September 2004, 07:25 PM
من مثلن يه فايل test.tpl دارم با اين محتوا :

<html>
<body> { $phpoutput } </body>
</html>

ميخوام يه فايلي به نام مثلن test.php براي خروجيش از اين تم بهره بگيره.
مظمون فايل test.php چي بايد باشه ؟ چي ميتونه باشه ؟

houtanal
21 September 2004, 09:27 PM
از مباحث پيشرفته برنامه نويسي شي گرا است به اين صورت كه مثلا {var} را مساوي متغيير $var قرار مي دهيد.
چيزي شبيه به تابع define
بحث مفصلي است يکم سرم خلوت شد توضيح مي دم براي کساني که به کتاب php advanced دسترسي دارند در بخش برنامه نويسي شي گراي اين کتاب توضيح مفصلي در اين زمينه داده شده و يا مي توانيد کدهاي phpbb را بررسي کنيد.
تا وقت کنم توضيح کاملي بدم اگر کسي سئوالي داره بپرسه 8)

payamix
21 September 2004, 09:54 PM
... مي توانيد کدهاي phpbb را بررسي کنيد...

اين كارو كردم و به اين برخوردم :

$template->pparse('body');

اين pparse چيه ؟

به نظرم قضيه پيچيده تر از اين حرفاست! :evil:

houtanal
21 September 2004, 11:34 PM
شي به نام $template از يک کلاس ساخته شده و pparse تابع تعريف شده در آن کلاس است به عبارت ديگر برنامه نويس تابعي در يک کلاس تعريف کرده که کار خاصي را انجام دهد.

payamix
21 September 2004, 11:41 PM
خب اين تابع رو كجا بايد تعريف كنيم ؟ چطوري ...

houtanal
21 September 2004, 11:47 PM
راهنماي php را از سايتش دريافت کنيد آموزش کاملي در زمينه تعريف کلاس ها و توابع داده اما براي شروع

<?php
class a{
var $i;
function test(){
$this->i="hi";
echo $this->i;
}
}
$j=new a();
$j->test();
?>

payamix
22 September 2004, 01:02 AM
ميشه يه لطفي بكنيد و اينا رو خط به خط توضيح بدين كه چه ميكنند ؟ :wink:

houtanal
22 September 2004, 01:14 AM
كلاسي با نام a تعريف کردم
متغييري به نام i تعريف کردم
تابعي به نام test تعريف کردم که نه چيزي مي گيرد و نه چيزي پس ميدهد تنها کاري گفته شده را انجام ميدهد.
متغيير i موجود در اين کلاس را مقدار دهي کرد
نکته خيلي مهم:
برا دستيابي به متغيير هاي تعريف شده در کلاس بايد از this استفاده کرد
به تابع test گفتم مقدار i را چاپ کند

يک نمونه از کلاس a به نام j ساختم
از نمونه خودم تابع test رو فراخواني کردم

نکته:
براي فراخواني اجزاي کلاس بذون نمونه سازي از اپراتور :: استفاده مي شود مثال

a::test()

payamix
22 September 2004, 01:24 AM
من نفهميدم دقيقن $this چيه و چه ميكنه ؟

houtanal
22 September 2004, 01:31 AM
يك keyword كه از قبل در php و بسياري از زبانهاي شي گراي ديگه تعريف شده.
كارش اينه كه:
اگر مستقيم بخواهيد به متغيير i مقدار دهيد قبول نمي کند و i را متغيري با محدوده درون تابع در نظر مي گيرد نه متغييري که در کلاس تعريف شده و براي تمام توابع قابل دسترسي است.دقيقا کار this همين است که مي گويد اين i همان i تعريف شده در کلاس است.
در iranphp.net يک مقاله راجع به شي گراي از من هست مطالعه کنيد.

payamix
22 September 2004, 01:37 AM
مرسي