VIP برنامه نویسی Client Side

وضعیت
موضوع بسته شده است.

☾♔TALAYEH_A♔☽

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2017/05/18
ارسالی ها
35,488
امتیاز واکنش
104,218
امتیاز
1,376
هنگامی که تایع flock فراخوانده می‌شود، پی‌اچ‌پی سعی می‌کند تا فایلی را قفل کند. کلمه‌ای که قبل از علامت : در ابتدای خط قرار می‌گیرد، نام خط را مشخص می‌کند. (در اینجا retry) این نام را می‌توان در دستور goto به‌عنوان مقصد مورد استفاده قرار داد. مقصدهای دستور goto در زبان پی‌اچ‌پی باید درون فایل و محیط جاری باشند. پشتیبانی از این دستور از نسخهٔ ۵٫۳ به پی‌اچ‌پی افزوده شده‌است.
 
  • پیشنهادات
  • ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    اشیاء
    قابلیت برنامه‌نویسی شیءگرایی به‌صورت ابتدایی در نسخهٔ ۳ به زبان پی‌اچ‌پی افزوده و در نسخهٔ ۴ بهتر شد.[۴] این قابلیت که در نسخهٔ ۵ کاملاً بازنویسی شده‌بود با افزایش قابلیت‌ها و بهبود عمل‌کرد در درون زبان قرار گرفت.[۴۹] در نسخه‌های قبلی پی‌اچ‌پی، با اشیأ مانند یک نوع داده برخورد می‌شد.[۴۹] بنابراین باید در هر بار مقداردهی یا ارسال شیء به یک تابع، کل محتویات شیء در یک فضای حافظه جدید کپی شود. اما در نسخهٔ ۵ نحوهٔ مدیریت اشیأ تغییر کرد. از این پس اشیأ با یک اشاره‌گر به فضای حافظه مشخص می‌شوند نه با مقادیرشان. در کنار این بهبودها مفاهیم جدیدی مانند متغیرهای شخصی (Private member variables) و عمومی (Public member variables) و همچنین کلاس‌های انتزاعی (Abstract Class)، کلاس‌های نهایی (Final Class) وبسیاری موارد دیگر نیز معرفی شدند. نحوهٔ تعریف متدهای سازنده (Constructors) و تخرب‌کننده (Destructors) نیز مانند زبان سی++ استانداردسازی شد و راه حلی برای مدیریت خطاها و استثناها ارائه گردید. علاوه‌بر این موارد، پی‌اچ‌پی ۵ قابلیت استفاده از اینترفس‌ها (Interface) را نیز معرفی و از پیاده‌سازی چندین اینترفیس در یک کلاس پشتیبانی کرد. در این میان اینترفیس‌های خاصی برای برقرار کردن رابـ ـطه با ساختارهای زبان به‌وجود آمدند. برا مثال با کلاس‌هایی که اینترفیس ArrayAccess را پیاده‌سازی کنند، می‌توان مانند آرایه‌ها برخورد کرد.[۵۰]

    اگر شخص برنامه‌نویس با استفاده از کلمهٔ کلیدی clone سعی کند که یک شیء را کپی کند، موتور زند ابتدا بررسی می‌کند که متد __clone در درون کلاس تعریف شده‌است یا خیر. در صورتی که تعریف نشده‌باشد، متد پیش‌فرض __clone فراخوانی می‌شود که تمامی خصوصیات کلاس را کپی می‌کند. اما اگر این متد در کلاس وجود داشته‌باشد، مسئولیت کپی کردن و مقداردهی در کلاس کپی‌شده بر عهدهٔ این متد خواهد بود.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    یک نمونه‌کد ابتدایی از برنامه‌نویسی شیءگرا به زبان پی‌اچ‌پی به‌شکل زیر است:

    class Person {
    public $firstName;
    public $lastName;

    public function __construct($firstName, $lastName = '') {
    $this->firstName = $firstName;
    $this->lastName = $lastName;
    }

    public function greet() {
    return "Hello, my name is " . $this->firstName . " " . $this->lastName . ".";
    }

    public static function staticGreet($firstName, $lastName) {
    return "Hello, my name is " . $firstName . " " . $lastName . ".";
    }
    }

    $he = new Person('John', 'Smith');
    $she = new Person('Sally', 'Davis');
    $other = new Person('iAmine');

    echo $he->greet(); // prints "Hello, my name is John Smith."
    echo '{{سخ}}';
    echo $she->greet(); // prints "Hello, my name is Sally Davis."
    echo '{{سخ}}';
    echo $other->greet(); // prints "Hello, my name is iAmine."
    echo '{{سخ}}';
    echo Person::staticGreet('Jane', 'Doe'); // prints "Hello, my name is Jane Doe."
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    میدان دید متغیرها و متدهایی که در درون کلاس‌های پی‌اچ‌پی تعریف می‌شوند به‌وسیلهٔ کلمات کلیدی public، private و protected مشخص می‌گردند. کلمهٔ کلیدی var نیز که در نسخه‌های قدیمی‌تر استفاده می‌شد، هم‌اکنون معادل public می‌باشد. متدها و خاصیت‌های public در همه‌جا قابل دسترسی هستند. protected دسترسی آن‌ها را به کلاس‌های مشتق‌شده (Inherited Class) محدود کرده و private دسترسی را فقط برای کلاس تعریف‌کننده میسر می‌سازد.[۵۲] در پی‌اچ‌پی اشیائی از یک نوع می‌توانند به متدها و خاصیت‌های خصوصی (private) یکدیگر دسترسی داشته‌باشند. در بسیاری از موارد، قابلیت‌های میدان دید در این زبان مفید دانسته می‌شود.[۵۳] با این حال عده‌ای نیز آن‌ها را ناکارآمد می‌دانند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پیاده‌سازی‌ها
    زبان پی‌اچ‌پی در ابتدا به صورت یک زبان مفسری پیاده‌سازی شد و امروزه نیز این پیاده‌سازی پرکاربردترین نسخهٔ مورد استفاده است. تعدادی مترجم نیز برای این زبان ایجاد شده‌است که این زبان را از مفسرها دور می‌کند. مترجم‌ها در زمان اجرا، قابلیت آنالیز ایستا (Static Analysis) و رابـ ـطهٔ بهینه با زبان‌های دیگر نسبت به مفسرها برتری دارند.

    از مترجم‌های مطرح زبان پی‌اچ‌پی می‌توان به فالانگر که کد پی‌اچ‌پی را به بایت‌کد زبان میانی مشترک (CIL) تبدیل می‌کند، و هیپ‌هاپ که به صورت منبع‌باز توسط فیس‌بوک توسعه داده می‌شود، اشاره کرد. مترجم هیپ‌هاپ با تبدیل کد پی‌اچ‌پی به کد زبان سی++ می‌تواند سربار سرور را تا ۶ برابر کاهش دهد.[۵۵]

    از روش‌های دیگری که برای بهبود زمان اجرا مورد استفاده قرار می‌گیرد، می‌توان از بهینه‌سازی کد نام برد. این عمل با کاهش حجم کد، حذف و ادغام قسمت‌های تکراری و تغییرات متفاوت دیگر صورت می‌گیرد. قابلیت بهینه‌سازی کد در زبان پی‌اچ‌پی نیز موجود بوده، و برنامه‌ها و افزونه‌هایی مانند eAccelerator برای این منظور توسعه داده می‌شوند.[۵۶]

    برای کاهش سربار ترجمه در زبان پی‌اچ‌پی می‌توان از حافظه نهان برای کدهای عملیاتی (Opcode Caching) نیز استفاده کرد. در این روش دستورهای ترجمه‌شده، در حافظهٔ مشترک (Shared Memory) قرار می‌گیرند تا از ترجمهٔ مجدد آن‌ها جلوگیری شود. از نسخهٔ ۵٫۵ به بعد افزونه Zend Opcache که از این روش برای افزایش کارایی استفاده می‌کند، به صورت پیش‌فرض به زبان پی‌اچ‌پی افزوده شد. از نمونه‌های دیگر حافظهٔ نهان برای کدهای عملیاتی می‌توان به Alternative PHP Cache (APC) اشاره کرد.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پروانه انتشار
    پی‌اچ‌پی یک نرم‌افزار آزاد است که با پروانه پی‌اچ‌پی منتشر می‌شود.[۸] این پروانه علاوه بر قوانین موجود در نرم‌افزارهای آزاد اعلام می‌دارد که:

    تمامی محصولاتی که بر پایهٔ پی‌اچ‌پی گسترش می‌یابند، نباید بدون اجازهٔ قبلی از [email protected] از نام "PHP" برای نام‌گذاری استفاده کنند. شما می‌توانید با قرار دادن کلمهٔ "for PHP" (به‌معنای برای پی‌اچ‌پی) در نام محصول خود نشان دهید که محصول شما با زبان پی‌اچ‌پی کار می‌کند. مثلاً استفاده از نام "PHP Foo" غیرمجاز است، در حالی‌که استفاده از "Foo for PHP" بدون مشکل خواهد بود.
    وجود این محدودیت در پروانهٔ این زبان، آن را با پروانه عمومی همگانی گنو (GPL) ناسازگار می‌کند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    نصب و تنظیمات
    به‌طور کلی دو روش اصلی برای نصب زبان پی‌اچ‌پی بر روی سرورهای وب وجود دارد. در بسیاری از سرورهای وب یک ماژول مستقیم به نام Server Application Programming Interface یا SAPI وجود دارد. برای مثال سرورهای آپاچی، مایکروسافت آی‌آی‌اس و آی‌پلنت (iPlanet) از این روش استفاده می‌کنند. تعدادی دیگر از سرورهای وب نیز از Internet Server Application Programming Interface یا ISAPI پشتیبانی می‌کنند. اگر زبان پی‌اچ‌پی در سرور وب ماژولی نداشته‌باشد، همواره می‌توان از آن به عنوان Common Gateway Interface یا CGI و FastCGI استفاده کرد. در این حالت باید سرور را تنظیم کرد تا تمامی درخواست‌های مربوط به زبان پی‌اچ‌پی را با فایل‌های CGI اجرا کند.[۶۰]

    برای نوشتن برنامه‌های دارای رابط گرافیکی نیز می‌توان از افزونهٔ PHP-GTK در زبان پی‌اچ‌پی استفاده کرد. این افزونه در نسخهٔ منتشر شده موجود نیست و باید به این زبان افزوده‌شود.[۶۰] برای استفاده از این افزونه، نسخهٔ پی‌اچ‌پی باید بالاتر از ۵٫۱ باشد. رایج‌ترین روش برای نصب این افزونه، ترجمهٔ کد آن می‌باشد.[۶۱]

    هنگامی که از زبان پی‌اچ‌پی در محیط‌های ابری استفاده می‌شود، کیت‌های توسعه نرم‌افزار (SDK) خاصی برای استفاده از امکانات محیط نیز همراه با آن منتشر می‌گردد. برای مثال:

    • سرویس‌های وب آمازون کیت AWS SDK For PHP را ارائه کرده‌است.
    • ویندوز اژور (Windows Azure) نیز کیت Windows Azure SDK for PHP را در اختیار عموم قرار داده‌است.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    امنیت
    ۲۹٪ از مشکلات امنیتی که در ماه سپتامبر سال ۲۰۱۳ میلادی توسط پایگاه داده امنیتی ملی (National Vulnerability Database) منتشر شد، با زبان پی‌اچ‌پی مرتبط هستند.[۶۲] این مسائل اکثراً به دلیل عدم استفاده از روش‌های مناسب توسط برنامه‌نویسان ایجاد می‌شود. این در حالی‌است که مشکلات تکنیکی که در خود زبان پی‌اچ‌پی وجود دارند، بسیار کم هستند. (۲۳ مشکل در سال ۲۰۰۸، کمتر از ۱٪ مشکلات)[۶۳][۶۴] با توجه به اینکه برنامه‌نویس‌ها اشتباهات بسیاری می‌کنند، بارها پیشنهاد شده‌است که قابلیت‌هایی برای تشخیص خطاهای امنیتی در زبان پی‌اچ‌پی گنجانده شود تا این خطاها را به برنامه‌نویس گزارش بدهد. با اینکه چنین ابزاری برای زبان پی‌اچ‌پی در حال توسعه است،[۶۵] اما این پیشنهادها تاکنون رد شده و این ابزارها به زبان افزوده نشده‌اند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    تست PHP
    تست برنامه‌های کاربردی و نرم‌افزارهای توسعه داده شده با PHP از جهت‌های مختلف حایز اهمیت هستند. با توجه به استفاده فراگیر PHP در برنامه‌های کاربردی وب (Web Applications)تست کارایی (Performance Testing)از اهمیت دوچندانی برخوردار است. همچنین ابزارهای بازبینی و مرور کد نیز کمک فراوانی به توسعه دهندگان می‌کند که بتوانیم بسیاری از اشکالات را در سطح کد و قبل از تست برطرف نماییم.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پایتون (زبان برنامه‌نویسی)
    Python
    200px-Python_logo_and_wordmark.svg.png

    پارادایم شی‌گرا، دستوری، تابعی، رویه‌ای،
    طراحی‌شده توسط خیدو فان روسوم
    توسعه‌دهنده بنیاد نرم‌افزاری پایتون
    ظهوریافته در ۲۰ فوریه ۱۹۹۱؛ ۲۷ سال پیش[۱]
    انتشار پایدار
    3.6.4 / ۱۹ دسامبر ۲۰۱۷؛ ۱۳ ماه پیش[۲]
    2.7.14 / ۱۶ سپتامبر ۲۰۱۷؛ ۱۶ ماه پیش[۳]
    انتشار پیش‌نمایش
    3.7.0a4, 3.5.5rc1, 3.4.8rc1 / 2018
    نظم ماشین‌نویسی
    اردکی، سیستم انواع، وابستگی زیاد و کم به نوع
    پروانه Python Software Foundation License
    پسوندهای نام پرونده
    .py, .pyc, .pyd, .pyo (prior to 3.5),[۴] .pyw, .pyz (since 3.5)[۵]
    وب‌گاه python.org
    پیاده‌سازی‌های بزرگ
    سی‌پایتون، IronPython, جایتون، MicroPython, Numba, PyPy, Stackless Python
    گویش‌ها
    سایتون، پای‌پای
    تأثیرگرفته از
    ABC,[۶] الگول۶۸,[۷] سی،[۸] C++,[۹] سی‌ال‌یو،[۱۰] Dylan,[۱۱] هسکل،[۱۲] آیکون،[۱۳] جاوا،[۱۴] لیسپ،[۱۵] Modula-3,[۹] Perl
    تأثیرگذاشته بر
    بو، Cobra, Coconut,[۱۶] CoffeeScript,[۱۷] D, F#, Falcon, Genie,[۱۸] Go, Groovy, JavaScript,[۱۹][۲۰] Julia,[۲۱] Nim, Ring,[۲۲] Ruby,[۲۳] Swift[۲۴]
    16px-Wikibooks-logo-en-noslogan.svg.png
    Python Programming در ویکی‌کتاب (انگلیسی)
    پایتون (به انگلیسی: Python) یک زبان برنامه‌نویسی همه منظوره،[۲۵] سطح بالا،[۲۵] شیءگرا، اِسکریپتی و متن باز است که توسط خیدو فان روسوم در سال ۱۹۹۱ در کشور هلند طراحی شد.

    فلسفهٔ ایجاد آن تأکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده[۲۶] و کوتاهی و بازدهی نسبی بالای آن است.[۲۷] کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند.

    بر خلاف برخی زبان‌های برنامه‌نویسی رایج دیگر که بلاک‌های کد در آکولاد تعریف می‌شوند (به‌ویژه زبان‌هایی که از گرامر زبان سی پیروی می‌کنند) در زبان پایتون از نویسه فاصله و جلو بردن متن برنامه برای مشخص کردن بلاک‌های کد استفاده می‌شود. به این معنی که تعدادی یکسان از نویسه فاصله در ابتدای سطرهای هر بلاک قرار می‌گیرند، و این تعداد در بلاک‌های کد درونی‌تر افزایش می‌یابد. بدین ترتیب بلاک‌های کد به صورت خودکار ظاهری مرتب دارند.

    پایتون مدل‌های مختلف برنامه‌نویسی (از جمله شی‌گرا و برنامه‌نویسی دستوری و تابع محور) را پشتیبانی می‌کند و برای مشخص کردن نوع متغیرها از یک سامانهٔ پویا استفاده می‌کند.

    این زبان از زبان‌های برنامه‌نویسی مفسر بوده و به صورت کامل یک زبان شیءگرا است که در ویژگی‌ها با زبان‌های تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند.[۲۸][۲۹][۳۰]

    پایتون پروژه‌ای آزاد و متن‌باز توسعه‌یافته‌است و توسط بنیاد نرم‌افزار پایتون مدیریت می‌گردد.[۳۱]

    محتویات
    • ۱ تاریخچه
      • ۱.۱ نسخه‌های اولیه
      • ۱.۲ نسخه ۱٫۰
      • ۱.۳ متن باز و آزاد بودن
      • ۱.۴ نسخه ۲٫۰
      • ۱.۵ میراث جاوا
    • ۲ توسعه خصوصیات
      • ۲.۱ پایتون ۳
      • ۲.۲ فلسفه
      • ۲.۳ سازگاری و همزمانی
      • ۲.۴ خصوصیات
    • ۳ کاربرد
      • ۳.۱ امنیت اطلاعات
      • ۳.۲ جاسازی
      • ۳.۳ مقبولیت
    • ۴ دستور زبان
      • ۴.۱ ایجاد فضای خالی
      • ۴.۲ شرط‌ها و روند کنترل
      • ۴.۳ روش‌ها
      • ۴.۴ نوع دهی
    • ۵ پیاده‌سازی
      • ۵.۱ تفسیر معنایی
    • ۶ کتابخانه استاندارد
    • ۷ فلسفه برنامه‌نویسی
      • ۷.۱ واژه تراشی
    • ۸ IDE محیط‌های ویرایشگر کد پایتون
    • ۹ واسط گرافیکی
    • ۱۰ برنامه‌هایی که کاملاً یا بخشی از آن‌ها با پایتون نوشته شده‌است
    • ۱۱ جستارهای وابسته
    • ۱۲ منابع
    • ۱۳ پیوند به بیرون
     
    وضعیت
    موضوع بسته شده است.

    برخی موضوعات مشابه

    بالا