آموزش php (وبلاگ یک پی اچ پی کار)

آموزش زبان برنامه نویسی php , html , css , تجربیات یک برنامه نویس

تغییر متن توکن ناصحیح پکیج پاسپورت لاراول

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

app/Exceptios/Handler.php

و متد زیر رو به کلاس داخلش اضافه کنید و ساختار بازگشتی رو خودتون با سلیقه خودتون تغییر بدید :

 

    protected function unauthenticated($request, AuthenticationException $exception)

    {

        if ($request->expectsJson()) {

            /** return response()->json(['error' => 'Unauthenticated.'], 401); */

                $response = ['status' => 'error','message' => 'You pass invalid token'];

                return response()->json($response);

        }

        return redirect()->guest('login');

    }

۳۰ مهر ۹۸ ، ۲۰:۵۴ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

تغییر روت پیش فرض از public به public_html برای استفاده لاراول در cpanel و directAdmin

در لاراول شما برای تغییر پیش فرض پوشه ی public به public_html شما نیاز دارید که در دو فایل تغییراتی ایجاد کنید تا لاراول متوجه شود که اطلاعات را از پوشه ی public_html بخواند.

همانطور که می دانید بصورت پیش فرض در لاراول روت پروژه پوشه ی public می باشد. اما در برخی مواقع مثلا در هنگام استفاده از cpanel و directAdmin باید روت پیش فرض برنامه پوشه ی public_html باشد.

در لاراول شما برای تغییر پیش فرض پوشه ی public به public_html شما نیاز دارید که در دو فایل تغییراتی ایجاد کنید تا لاراول متوجه شود که اطلاعات را از پوشه ی public_html بخواند.

برای اینکار ابتدا پوشه ی index.php موجود در فایل public پروژه ی خود را باز نمایید خط زیر را پیدا کنید:

$app = require_once __DIR__.'/../bootstrap/app.php';

پس از خط بالا کد زیر را قرار دهید و قایل مربوطه را ذخیره کنید:

// set the public path to this directory
$app->bind('path.public', function() {
    return __DIR__;
});

 

حال فایل \App\Providers\AppServiceProvider.php را باز کنید و کد زیر را در متد register بصورت زیر قرار دهید:

public function register()
{
    // ...

    $this->app->bind('path.public', function() {
        return base_path('public_html');
    });
}

 

فایل را ذخیره و لاراول را در سرور خود اجرا نمایید. متوجه خواهید شد که مشکل رفع شده است.

۲۴ شهریور ۹۸ ، ۱۶:۳۷ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

نمایش پست ها در محدوده چند کیلومتری یک موقعیت جغرافیایی در لاراول

$lat = YOUR_CURRENT_LATTITUDE;
$lon = YOUR_CURRENT_LONGITUDE;
 
DB::table("posts")
->select("posts.id"
,DB::raw("6371 * acos(cos(radians(" . $lat . "))
* cos(radians(posts.lat))
* cos(radians(posts.lon) - radians(" . $lon . "))
+ sin(radians(" .$lat. "))
* sin(radians(posts.lat))) AS distance"))
->groupBy("posts.id")
->get();


 

۲۴ تیر ۹۸ ، ۱۲:۳۷ ۱ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

اجرای دائمی صف ها در لاراول 5.8

برای اجرای ادامه دار job ها در لاراول یک کران جاب بصورت زیر ایجاد کنید :

 

 
/usr/local/bin/php /home/my_project_path/artisan queue:listen --tries=10

 

البته روش بالا برای اجرای این دستور اصلا پیشنهاد نمیشه و صرفا برای این بود که شما بدونید که با کران جاب هم میتونیم دستورات داخلی لاراول رو هم که با artisan اجرا میکنیم رو هم اجرا کنیم.

چرا که این روش باعث میشه منابع سیستم بشدت مشغول بشن و روش بهتر استفاده از زمانبد خود لاراول هست و یک کران جاب برای اجرای زمانبند لاراول که خواستم مقاله ای مفصل بنویسم که سرچ زدم دیدم دوست عزیزی این مقاله رو نوشتن گفتم که اینجا دیگه لینکشو بزارم و دوباره ننویسم که چه کاریه !

این هم لینک مقاله اش :

نمایش

۰۷ تیر ۹۸ ، ۲۳:۰۱ ۱ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

نحوه اجرای دستور php artisan schedule:run روی سرور برای اجرای زمانبد وظایف لاراول

جهت اجرای دستور php artisan schedule:run در سی پنل وارد بخش تنظیم کران جابز بشید و دستور زیر رو وارد نمائید

 

 
php -d register_argc_argv=On /home/project_name/artisan schedule:run > /dev/null 2>&1
۰۷ تیر ۹۸ ، ۱۹:۴۸ ۱ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

حذف یک کلید از آزایه در php

برای حذف یک کلید از آرایه در php

$myArray = ['name'=>'HD','email'=>'test@gmail.com','password'=>'123456','confirm-password'=>'123456'];
$myArray = array_except($myArray,['confirm-password']);
print_r($myArray);
۰۷ تیر ۹۸ ، ۱۴:۰۲ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

اعتبار سنجی آرایه در لاراول

برای اعتبار سنجی ورودی های آرایه ای در لاراول 5.8 از کد زیر استفاده کنید :

$validator = Validator::make($request->all(), [
    "name"    => "required|array|min:3",
    "name.*"  => "required|string|distinct|min:3",
]);
۰۷ تیر ۹۸ ، ۱۳:۲۹ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

فرمت بندی ارقام پولی با جاوا اسکریپت

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

 

<script>
// Create our number formatter.
var formatter = new Intl.NumberFormat('fa-IR', {
currency: 'IRR',
});
 
 
formatter.format(2500); // خروجی 2,500
 
</script>

 

۲۵ خرداد ۹۸ ، ۱۰:۰۱ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی