linux download stream video

If you need to download some video from YouTube or another website that you can just play and watch video without download it, you can use XDM app for do this.

This application with a chrome extension can help you get download link.
For install you tow way
1 : use repositories

And second way is download source file and install

Go to thin link and download tar file
cd extracted folder and run this command sudo ./install.sh

Phpstorm indexes is very slow

Phpstorm is very slow even with SSD hard. The least week I change my HDD hard to SSD and update my Ubuntu to 16 but I don not see any change to Phpstorm indexing time. after many searches I found solution. I remove some directories from indexes sequence.

Create block and pass data from XML layouts

For first create block PHP under Vendor/Module/Block1

Code should be like bellow

after create block you need pass some data to block. I wanna use XML for this

You can use this XML code on any layout like default.xml.

I hope this post helped you

Setup php7.2 for magento 2.3

after migrate to magento 2.3 from magento 1.8 our company need to upgrade linux os php’s

We need to install PHP 7.2 but my OS (ubuntu16.04 ) does not support that. then we have to use repository .

First add this repository.

open terminal (alt ctrl t) and add this line

after press inter you should update

Now our os is ready for install php 7.2

Restart Apache service and enjoy from you magento 2.3

for install php extension that are required for magento do like this

List of required extension

PDO/MySQL
mbstring
mcrypt
mhash
simplexml
curl
gd2, ImageMagick 6.3.7 (or later) or both
soap
bcmath
zip
intl


magento 2 confirm customer

i am tried to create login by mobile module so i need to confirm customer after verify mobile number.by this code i do that

add some value to customer session on magento 2

Hi … after many time

 

for add some data to customer session or another session you can do like this

 

 

 

لیست دستورات cli مجنتو ۲

بعد مدت ها وقت شد تا یه کمی در مورد مجنتو بنویسم. در این پست قصد دارم کلیه دستوراتی رو که با کامند لاین میشه زد بنویسم

ستاپ و اپگرید دیتابیس

php bin/magento setup:upgrade

با دستور زیر هم دیتابیس اپگرید میشه و هم دیتای پوشه pub حذف نمیشن

php bin/magento setup:upgrade –keep-generated

پاک کردن کش

php bin/magento cache:clean

فلاش کردن کش

php bin/magento cache:flush

وضعیت کش ها …خروجی به صورت ۱و ۰ خواهد بود که ۱ نشانه فعال بودن است

php bin/magento cache:status

فعال کردن یک کش خاص

php bin/magento cache:enable [cache_type]

غیر فعال کردن یک کش خاص …دقت کنید که توی این دستور و دستور بالا اگه دستور رو بدون اسم کش وارد کنید روی کلیه کش ها اعمال میشه یعنی یا فعال یا غیر فعال میشن

php bin/magento cache:disable [cache_type]

دپلوی کردن فایل های تمپلت …با این دستور کلیه فایل های سی اس اس و جی اس و … تملپت جنریت میشن توی فولدر pub/static که البته اگه از ورژن ۲.۲ به بعد برای فورس کردن و اورید فایل های میشه از f- استفاده کرد.

php bin/magento setup:static-content:deploy

دپلوی کردن فایل ها تمپلت با زبان انگلیسی

php bin/magento setup:static-content:deploy en_US

دپلوی کردن فایل های یک تمپلت خاص

php bin/magento setup:static-content:deploy –theme=”Magento/backend”

دپلوی کردم چند تمپلت

php bin/magento setup:static-content:deploy –theme Magento/luma –theme Magento/second_theme

دپلوی کردن چند تملپ به جز یک تمپلت خاص

php bin/magento setup:static-content:deploy en_US –exclude-theme Magento/luma –no-html-minify


ری ایندکس کردن

php bin/magento indexer:reindex


دریافت توضیحات ری اندیکس

php bin/magento indexer:info

دریافت وضعیت ری ایندکس

php bin/magento indexer:status

دریافت وضعیت ری ایندکس …منظور ری ایندکس در حالت سیو یا به صورت دستی هستش

php bin/magento indexer:show-mode

دریافت وضعیت فعال بودن یا نبود همه ماژول ها

php bin/magento module:status

فعال کردن یک ماژول خاص

php bin/magento module:enable Namespace_Module

غیر فعال کردن یک ماژول خاص

php bin/magento module:disable Namespace_Module

حذف کردن یک ماژول … البته کلمه حذف درست نیست ولی دقیق یادم نمیاد که کلمه مقابل نصب چی بود 🙂

php bin/magento module:uninstall Namespace_Module

بررسی وضعیت سایت …پابلیش یا پروداکت یا دیفالت بودن

php bin/magento deploy:mode:show

تغییر وضعیت وضعیت سایت به دولوپر

php bin/magento deploy:mode:set developer

تغییر وضعیت سایت به پروداکشن

php bin/magento deploy:mode:set production

کامپایل کردن قایل های پی اچ پی

php bin/magento setup:di:compile

از بلاک در اوردن یک یوزر ادمین

php bin/magento admin:user:unlock adminusername

فعال کردن حالت در حال تغییرات یا همون حالت در حال بروز رسانی سایت

php bin/magento maintenance:enable

فعال کردن حالت بروزرسانی برای دو ای پی مختلف

php bin/magento maintenance:enable –ip=192.0.0.1 –ip=192.0.0.2

پاک کردن لیست ای پی ها

php bin/magento maintenance:enable –ip=none

غیر فعال کردن حالت بروز رسانی

php bin/magento maintenance:disable

بررسی وضعیت بروز رسانی

php bin/magento maintenance:status

نوشتن phpunit test

سلام

یه بخشی که توی اکثر پروژه های لازمه ولی کسی بهش توجه نمی کنه بخش تست نرم افزاری هستش … در مورد دلایل ننوشتن تست و یا اینکه چرا باید بنوسیم توی نت به اندازه لازم دیتا هست ولی اینکه چطوری یه تست خوب بنویسیم رو پیدا نکردم و اگرم بود خیلی ساده و ابتدایی بود … سعی میکنم یه چندتا مثال ساده بزنم و بعد بریم سر وقت تست نوشتن واسه مجنتوی عزیز و گرامی.

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

این خط کد چیکار می کنه ؟ با کامپوز یه ریکویست واسه نصب phpunit می فرستین … یه کمی زمان می بره تا نصب بشه واسه من دانلود پکیج حدود 10 دقیقه زمان برد پس صبور باشین … البته سری بعد که پکیح رو از کش دانلود میکنه زودتر نصب میشه

و این هم نتیجه نصب :

خب نصب که کامل شد میریم سراغ اولین تست که خیلی هم کاربردی نیست 🙂 .

یه دایرکتوری به اسم mytest توی روت پروژه تون بسازید و بعد داخل اون دایرکتوری یه کلاس به اسم FirstTest که اکسند شده (extends) شده از \PHPUnit\Framework\TestCase بسازید . اگه نمیدونید اسکتند شدن چیه و چیکار میکنه این نوشته به درد شما نمیخوره چون باید با شی گرایی اشنا باشین  🙂 . و اینکه دقت کنین که حتما اسم کلاستون با Test تموم شده باشه

کلاس شما باید یه چیزی شبیه این باشه :

خب حالا میخوایم اولی متد به اسم test_sum رو بنویسیم … این متد دوتا عدد رو با هم جمع میکنه و تست میکنه ببینه ایا جمع دوتا عدد مثلا عدد 12 میشه یا نه … کلاستون باید تا الان اینجوری باشه

نعریف متد که فک نکنم مشکلی داشته باشیم و فقط میمونه توضیح خط اخر کد. assertEquals یه متد از کلاس پدره که میاد دوتا مقدار رو بررسی میکنه که با هم برابر هستن یا نه …سه تا ارگومان میگیره اولین مقدار و دومین که همون عددها یا مقادیر قابل بررسی هستن و سومین مقدار هم که پیغامی که در صورت برابر نبودن مقدارهای اول و دوم با هم نمایش میده

نکته : متدهای تست حتما با test شروع میشن … منظورم اسمشونه .

خب بریم سراغ اولین تست . کامند لاین تون (ترمینال .و..بش یا هرچیزی که بشه توی به php cli دسترسی داشت ) رو باز کنید. و وارد روت پروژه تون بشید و این دستور رو بزنید .

نتیجه باید چیزی شبیه این باشه :

و در صورتی که عدد 12 داخل کلاس رو مثلا به 13 تغییر بدین خروجی چیزی شبیه این خواهد بود .

خب تا اینجا کار زیاد سختی انجام ندادیم . حالا میخوام فرضا واسه یه ماژول یا یه بخشی از سایت یه تست بنویسیم مثلا واسه استان های فروشگام تست بنویسم ببینم که وقتی یه محصولی انتخاب میشه ایا استان تهران هم جزیی از استان های قابل ارسال هستش یا نه (چقد سخت شد ولی خب در واقعیت همینجوریه) .

فرض میگیرم که پروژه من توی دایرکتوری app و اسم کلاس من هم Shipping  و یه متد داره یه اسم getRegion  که میاد و یه ارایه از شهرها رو بر می گردونه …با این توضیحات فک کنم باید بدونین که یه کلاس به اسم Shipping توی دایرکتوری app باید بسازم و با یه متد به اسم getRegion  که قرار یه ارایه از شهر ها رو برگردونه

تقریبا یه همچین چیزی میشه :

خب حالا این کلاس رو توی کلاس تست قبلی require  میکنم و بعد یه متد توی کلاس تست م می نویسم واسه تست کردن اینکه ایا تهران جزئی از مقادیر برگشتن هست یا نه .

کلاس تست تقریبا اینجوری میشه:

خب یه متد به اسم test_region  به کلاس اضافه کردم و یه شی از کلاس Shipping ساختم و بعد هم مقدار استان ها رو از شی گرفتم … حالا با متد assertContains بررسی میکنم که استان ها شامل تهران میشن یا نه و نتیجه :

خب تا اینجای کار تقریبا اومد دستمون که یه تست چجوری کار میکنه … این فقط یک مثال خیلی ساده بود.

واسه توضیحات بیشتر به دایکیومنت خود سایت https://phpunit.de/manual/6.5/en/installation.html مراجعه کنید .

وقت کنم یه مطلب هم در مورد نوشتن تست واسه مجنتو میزارم و فایلهای پروژهphpunittest