host3nter

آموزش: آموزش composer

سلام به همه رفقا و پیروان حقیقی مکتب متن باز (open source) چرا چرخ رو دوباره ...

موضوع آموزش: آموزش composer,.

PHP, برنامه نویس, برنامه نویسی

تاريخ ارسال:2014/07/24

هاست سنتر سلام به همه رفقا و پیروان حقیقی مکتب متن باز (open source) چرا چرخ رو دوباره اختراع کنیم .. reinvent the wheel http://en.wikipedia.org/wiki/Reinventing_the_wheel همیشه برام این مساله وجود داشت که کدها چطور میتونه از لحاظ سرعت و استاندارد و همچنین غنی بودن از هر لحاظ یک کد کامل باشه. برای این کار باید بتونیم از کتابخانه ها و کلاس های سیستم های قدرتمند دیگه در کدمون استفاده کنیم. کامپوزر نام ابزاری است که بوسیله اون میتونید کلاس های نوشته شده برای فریمورک ها و سیستم های مختلف رو توی سیستم خودتون به کار بگیرین. نکته ای که این میان هست اینه که وقتی یه همچین کاری بخواد انجام بشه ممکنه اون کلاسی که میخواین استفاده کنید یک سری وابستگی هایی داشته باشه . بدین معنا که ممکنه از کلاس یا کلاس های دیگری در این کلاس استفاده شده باشه و مجبور باشین یکی یکی اون ها رو هم به پروژه اتون اضافه کنید. کامپوزر میاد تمام وابستگی های هر کلاس رو هم باهاش دانلود میکنه و به پروژه اتون اضافه میکنه . وقتی کلاس مورد نظر رو دانلود کردین فقط کافیه توی پروژه یه خط کد اضافه کنید تا تمام کلاس ها بطور خودکار در صفحه یا صفحه ای مختلفی از پروژه اتون اضافه بشه. بسم ا.. راه حل این کار رو در آموزش زیر ببینید: https://getcomposer.org این ابزار رو دانلود کنید. بدین شکل: curl -sS https://getcomposer.org/installer | php وقتی اینو بزنید یه فایل دانلود میشه بنام composer.phar ، برای اینکه بطور سراسری بتونید ازش توی کامند استفاده کنید باید تغییر نامش بدین به composer و انتقالش بدین به پوشه زیر: /usr/local/bin خب حالا میتونید از کامپوزر استفاده کنید.. من دستورات کامند رو برای استفاده از پکیج finder متعلق به فریمورک سیمفونی رو مینویسم فکر کنم گویاست ، اگر سوالی بود در خدمتم: ali:~$ cd /opt/lampp/htdocs/mycms ali:/opt/lampp/htdocs/mycms$ sudo composer init اینجا ازتون میخواد که یک اسم انتخاب کنید برای دانلود پکیج ها مثلا میتونم بگم هرچی میگیری رو برام در آدرس source/symfony کپی کن اگر هیچی ننویسین خودش بطور پیشفرض میاد یه فولدر بنام vendor میسازه توی فولدر mycms و اونجا پکیج ها رو میریزه. من هیچی نمینویسم تا پیشفرض سیستم انجام بشه. Package name (<vendor>/<name>) [ali/mycms]: Description []: Author: Minimum Stability []: License []: Define your dependencies. Would you like to define your dependencies (require) interactively [yes]? yes Search for a package []: finder Found 15 packages matching finder [0] symfony/finder [1] nette/finder [2] sebastian/finder-facade [3] mindy/finder [4] webignition/website-sitemap-finder [5] dflydev/symfony-finder-factory [6] shrink/finder-facade [7] webignition/website-rss-feed-finder [8] webignition/html-document-link-finder [9] jflight/nearby-uk-postcode-finder [10] hoa/file [11] dalanhurst/abbreviation-finder-plugin [12] ymc/symfony-component-factory-bundle [13] ehough/finder [14] johnshopkins/environment-finder Enter package # to add, or the complete package name if it is not listed []: 0 Enter the version constraint to require []: @stable Search for a package []: Would you like to define your dev dependencies (require-dev) interactively [yes]? Search for a package []: { "name": "ali/mycms", "require": { "symfony/finder": "@stable" } } Do you confirm generation [yes]? yes خب مراحل فوق رو که انجام دادین باید دستور زیر رو اجرا کنید تا پکیج یا پکیج هایی رو که درخواست کردین دانلود بشه: ali:~$ sudo composer install Loading composer repositories with package information Installing dependencies (including require-dev) - Installing symfony/finder (v2.5.2) Loading from cache Writing lock file Generating autoload files اگر دانلود پکیج موفقیت آمیز بود پیغام بالا رو مشاهده میکنید. نکته: یک نکته در دستور زیر: Enter the version constraint to require []: @stable اینجا از ما ورژن پکیج مورد نظر رو میخواد که ما بهش میگیم آخرین ورژن پایدار رو بهمون بده . ورژن دیگه ای رو خواستین میتونید برین توی سایت https://packagist.org/ و توی اونجا سرچ کنید و ورژن مورد نظر رو پیدا کنید ( مثلا : v2.5.2 ) حالا برای بکارگیری این پکیج در پروژه اتون کافیه بصورت زیر عمل کنید: // /opt/lampp/htdocs/mycms/test.php <?php require_once 'vendor/autoload.php'; $finder = new \Symfony\Component\Finder\Finder(); $finder->files()->in(__DIR__); foreach ($finder as $file) { // Print the absolute path print $file->getRealpath()."<br>"; // Print the relative path to the file, omitting the filename print $file->getRelativePath()."<br>"; // Print the relative path to the file print $file->getRelativePathname()."<br>"; } ?> نکته : بهتره برای هر کلاس یک vendor بسازین تا با اتولود (autoload) کردن یک منبع تمام کلاس های غیر وابسته ی دیگه در جایی که ممکنه نیاز نباشه لود نشه بدین شکل: /opt/lampp/htdocs/mycms/lib/finder که گفتم توی کامند ازتون نام فولدر منبع رو میخواد : Package name (<vendor>/<name>) [ali/mycms]: lib/finder در پناه خدا هاست,دامین,سایت,وب,طراحی

سوال: دستوری بجای ReadLn در شبکه ایندی که بجای لاین با دریافت کلمه پایان پذیرد

نصب خودکار برنامه های جانبی

گذاشتن طرح توی themeforest.net / کسی اطلاعی داره مارو مطلع کنه لطفا

سوال: سخت تر کردن امکان خواندن کدهای سایت

سوال: ساخت elearning

بازدید ساز سئومارک

فازی c-mean

آموزش:, آموزش, composer

آموزش: آموزش composer

میزبانی وب ,هاست,فضای وب,ویندوز,لینوکس,دات نت,پی اچ پی,web hosting,windows host,linux host,asp.net,php,sql server,mysql میزبان پایتخت ارائه دهنده خدمات میزبانی وب، هاست و هاستینگ، میزبانی هاست، دامین، میزبانی نمایندگی، نمایندگی وب، سرور مجازی و سرور مجازی ابری می باشد.هاست,میزبانی وب,دامین,سرور مجازی,میزبان پایتخت,host,domain,vps,mizban paytakht,hosting,share hosting,میزبان وب,میزبانی هاست,هاستینگ

google
logo-samandehi