برگزیده های پرشین تولز

کلاس های از پیش تعریف شده در PHP

aaasenator

کاربر تازه وارد
تاریخ عضویت
9 نوامبر 2014
نوشته‌ها
45
لایک‌ها
3
سن
27
محل سکونت
وسط کامپایلر ها
میخوام بدونم زبان های اوپن سورس مثل پی اچ پی چطور میشه کتابخانه های آماده نوشته شده از کدهاشون رو خوند
من نمیخوام یک نمونه شئ بسازم و تغییرات بدم بلکه میخوام داخل سورس اصلی که نوشته شده تغییرات بدم یا اینکه کلا ببینم چکار انجام دادند
این کلاس ها در کدوم بخش قرار گرفتند
 

webs

Registered User
تاریخ عضویت
14 آپریل 2010
نوشته‌ها
2,016
لایک‌ها
1,464
محل سکونت
php.ini
منظورتون رو درست متوجه نشدم. اما یه سری توابع آماده در PHP هستند (مثلاً GD) که وابسته به ماژول هستند. حالا این ماژول ممکنه اپن سورس باشه یا نباشه و من چند نمونه که دیدم فکر کنم به زبان C نوشته شده بودن. یعنی در مورد اون ماژول ها شما باید سورس ماژول به زبان C رو دستکاری کنید و سپس ماژول رو برای خودتون کامپایل کنید. که مسلماً در این حالت اسکریپت شما اگه دارای اون توابع خاص باشه فقط روی سرور اختصاصی شما کار میکنه.
 

aaasenator

کاربر تازه وارد
تاریخ عضویت
9 نوامبر 2014
نوشته‌ها
45
لایک‌ها
3
سن
27
محل سکونت
وسط کامپایلر ها
منظورتون رو درست متوجه نشدم. اما یه سری توابع آماده در PHP هستند (مثلاً GD) که وابسته به ماژول هستند. حالا این ماژول ممکنه اپن سورس باشه یا نباشه و من چند نمونه که دیدم فکر کنم به زبان C نوشته شده بودن. یعنی در مورد اون ماژول ها شما باید سورس ماژول به زبان C رو دستکاری کنید و سپس ماژول رو برای خودتون کامپایل کنید. که مسلماً در این حالت اسکریپت شما اگه دارای اون توابع خاص باشه فقط روی سرور اختصاصی شما کار میکنه.
منظورمه من یکسری کلاس دارم که برای خود زبان پی اچ پی هست الان میخوام اونهارو توسعه بدم باید از کجا کد هاشو ببینم که توسعه بدم ؟؟؟؟
 

webs

Registered User
تاریخ عضویت
14 آپریل 2010
نوشته‌ها
2,016
لایک‌ها
1,464
محل سکونت
php.ini
نمونه ذکر کنید.
 

aaasenator

کاربر تازه وارد
تاریخ عضویت
9 نوامبر 2014
نوشته‌ها
45
لایک‌ها
3
سن
27
محل سکونت
وسط کامپایلر ها
نمونه ذکر کنید.
من الان انگار میخوام زبان php رو توسعه بدم برای خودم مثلا بیام یک کلاسو پیدا کنم کلا عوضش کنم حتی کامپایلر و بقیه اطلاعات رو که میخوام مثلا یه کلمه کلیدی اضافه کنم به کامپایلر یکسری کار انجام بده
 

sezar

Registered User
تاریخ عضویت
24 مارس 2006
نوشته‌ها
245
لایک‌ها
54
سن
34
محل سکونت
Tehran
شما نمیتونید در داخل هسته php تغییرات ایجاد کنید مگر اینکه core contributer پروژه php باشید. شما میتونید سورس php رو دانلود کنید ولی سفارشی کردن و run کردنش رو هیچ کسی توصیه نمیکنه. علتش هم کاملا واضحه: آسیب پذیر شدن هسته‌ی php در مقابل کدهای تست نشده.
اگر اینطور بود که دیگه ملت دیوانه نبودن برن extensionهای php رو دانلود و تنظیم کنن! ماهم راحت میرفتیم یه نسخه php برای خودمون میزدیم که مثلا فلان ماژول خاص آپاچی یا فلان کتابخونه خاص روش نصب باشه ! یکی از بزرگترین مزیت‌های php همین ماژولار بودن و قابلیت پلاگ یا آنپلاگ کردن اکستنشن‌های مختلف هست. درضمن خود کلاسهای phpهم داخل همین اکستنشن ها نوشته شدن و کدهای داخل php کارهای حیاتی رو انجام میدن.
برای اکستنشن نوشتن میتونید از اینجا اطلاعات مفیدی برای نوشتن یک extension برای php پیدا کنید که نیاز به داشتن اطلاعات درمورد نحوه ی عملکرد خود php و همچنین زبان برنامه نویسی C/C++ داره. اگه دات نتی هستید و میخواین روی ویندوز پیاده سازی کنید میتونید از Phalanger استفاده کنید.
 
Last edited:

sezar

Registered User
تاریخ عضویت
24 مارس 2006
نوشته‌ها
245
لایک‌ها
54
سن
34
محل سکونت
Tehran
برای بحث توسعه دادن توابع خود PHP : آشنایی با مفاهیم شی گرایی الزامیه
شما کلاس خودتون رو ایجاد کنید. ‌namespace مربوطه رو در برنامه use کنید و کلاس اولیه (parent) رو توسعه (extend) بدید (ارث بری). به این کار میگن Overriding ( با overloading اشتباه گرفته نشه)
نمونه کد آموزشی:
PHP:
<?php

class classA {
    function myMethod() {
        return "alan myMethod ro az classA ejra kardi";
    }
}

class classB extends ClassA {
    function myMethod() {
        return "alan ham myMethod ro override kardi va karbordesho avaz kardi";
    }
}

$foo = new classA;
$bar = new classB;
echo($foo->myMethod()); //output:   "alan myMethod ro az classA ejra kardi"
echo($bar->myMethod()); //output:   "alan ham myMethod ro override kardi va karbordesho avaz kardi"
 

webs

Registered User
تاریخ عضویت
14 آپریل 2010
نوشته‌ها
2,016
لایک‌ها
1,464
محل سکونت
php.ini
@sezar
از حضور شما در انجمن، شخصاً سپاسگزاری می کنم.
 

sezar

Registered User
تاریخ عضویت
24 مارس 2006
نوشته‌ها
245
لایک‌ها
54
سن
34
محل سکونت
Tehran
@webs خواهش میکنم دوست عزیز
 
بالا