Skip to content

Commit

Permalink
update paas/laravel docs
Browse files Browse the repository at this point in the history
  • Loading branch information
A-Najmabadi committed Jun 16, 2024
1 parent ae8e4bc commit fa0f92d
Show file tree
Hide file tree
Showing 9 changed files with 137 additions and 119 deletions.
16 changes: 12 additions & 4 deletions src/components/Sidebar/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -650,10 +650,10 @@ export default {
title: "استفاده از دیسک",
link: "/paas/laravel/how-tos/use-disk"
},
{
title: "راه‌اندازی برنامه Websocket",
link: "/paas/laravel/how-tos/use-websocket"
},
// {
// title: "راه‌اندازی برنامه Websocket",
// link: "/paas/laravel/how-tos/use-websocket"
// },
{
title: "تنظیم اختصاصی فایل php.ini",
link: "/paas/laravel/how-tos/customize-php-ini"
Expand Down Expand Up @@ -760,6 +760,14 @@ export default {
title: "رفع خطای 419",
link: "/paas/laravel/fix-common-errors/419-page-expired"
},
{
hr: true
},
{
title: "Lumen",
icon: <IconContainer alt="laravel" />,
link: "/paas/laravel/related-apps/lumen"
},
],
}
};
21 changes: 20 additions & 1 deletion src/pages/paas/laravel/fix-common-errors/419-page-expired.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,25 @@ import {GoArrowLeft,} from "react-icons/go";
<Layout>
# رفع خطای 419Page Expired در برنامه‌های Laravel
<hr className="mb-2" />
خطای <Important>419 Sorry, your session has expired. Please refresh and try again.</Important> معمولاً زمانی پیش می‌آید که اعتبار سنجی CSRF در برنامه شما، موفق نباشد و یا به خطا بخورد. معمولاً یکی از دلایل اصلی این خطا، در session ها است. اگر session به درستی ایجاد نشود و یا منقضی شود؛ این خطا، نمایش داده می‌شود.
ممکن است در برنامه خود با خطای زیر مواجه شوید:

<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`419 Sorry, your session has expired. Please refresh and try again.`}
</Highlight>
</div>
<div className="h-2" />

این خطا، زمانی پیش می‌آید که اعتبار سنجی CSRF در برنامه شما، موفق نباشد و یا به خطا بخورد. معمولاً یکی از دلایل اصلی این خطا، در sessionها است. اگر session به درستی ایجاد نشود و یا منقضی شود؛ این خطا، نمایش داده می‌شود.

برای رفع این مشکل، یکی از راه حل‌ها این است که طبق <a href="../../details/envs/about" className="blue-link">مستندات تنظیم متغیرهای محیطی</a> ،متغیر <Important>SESSION_DRIVER</Important> را با مقدار زیر، به برنامه خود اضافه کنید:
<div className="h-2" />
<div dir='ltr'>
<Highlight className="bash">
{`SESSION_DRIVER=cookie`}
</Highlight>
</div>
<div className="h-2" />

</Layout>
2 changes: 1 addition & 1 deletion src/pages/paas/laravel/fix-common-errors/about.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import {GoArrowLeft,} from "react-icons/go";
یادآوری این نکته ضروری است که مواجهه با این خطاها بخشی طبیعی از فرآیند توسعه و استقرار نرم‌افزار است. با داشتن دانش لازم و پیروی از راهنمایی‌های ارائه‌شده در این مستندات، می‌توانید به راحتی از این مشکلات عبور کرده و تجربه خوبی از استقرار برنامه‌های خود در لیارا، داشته باشید.

<div className='h-2' />
<div className="grid grid-cols-2 gap-4">
<div className="grid grid-cols-1 gap-4">
{[
{ platform: 'رفع خطای محدودیت آپلود فایل با حجم بیش از 100MB', link: "./upload-limit-size" },
{ platform: 'رفع خطای CORS', link: "./cors" },
Expand Down
6 changes: 2 additions & 4 deletions src/pages/paas/laravel/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,9 @@ import {
در ادامه، مستندات مربوط به ابزارهای Laravel برای شما قرار گرفته است:
<br />

<div className="grid grid-cols-3 gap-4">
<div className="grid grid-cols-2 gap-4">
{[
{ alt: 'laravel', platform: 'Lumen', link: "/lumen" },
{ alt: 'laravel', platform: 'Laravel Nova', link: "/nova" },
{ alt: 'laravel', platform: 'Laravel Vapor', link: "/vapor" },
{ alt: 'laravel', platform: 'Lumen', link: "/paas/nodejs/related-apps/lumen" },
{ alt: 'laravel', platform: 'Laravel Horizon', link: "/horizon" },
{ alt: 'laravel', platform: 'Laravel Echo', link: "/horizon" },
{ alt: 'laravel', platform: 'Laravel Octane', link: "/horizon" },
Expand Down
21 changes: 21 additions & 0 deletions src/pages/paas/laravel/how-tos/connect-to-db/about.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,26 @@ import {GoArrowLeft,} from "react-icons/go";
</div>
<div className='h-2' />


<Section id="migrate-db" title="اجرای Migrationها در دیتابیس‌" />
برای اجرای Migrationها در دیتابیس مد نظر خود، می‌توانید پس از استقرار برنامه، وارد <a href="" className="blue-link">خط فرمان</a> برنامه خود شوید و دستور زیر را اجرا کنید تا عملیات migration برای شما، انجام شود:

<div className='h-2' />
<div dir='ltr'>
<Highlight className="bash">
{`php artisan migrate`}
</Highlight>
</div>
<div className='h-2' />
یا اینکه می‌توانید طبق <a href="../use-hooks" className="blue-link">مستندات هوک‌ها</a>، قبل از استقرار و در مسیر اصلی پروژه، یک فایل به نام <Important>liara_pre_start.sh</Important> ایجاد کنید و قطعه کد زیر را، درون آن، قرار دهید:
<div className='h-2' />
<div dir='ltr'>
<Highlight className="sh">
{`php artisan migrate --force`}
</Highlight>
</div>
<div className='h-2' />
در انتها و پس از قرار دادن فایل فوق در مسیر اصلی پروژه، می‌توانید برنامه خود را در لیارا مستقر کنید تا عملیات Migrate به صورت خودکار برای‌تان اعمال شود.

<NextPage next="../../fix-common-errors/about" />
</Layout>
2 changes: 1 addition & 1 deletion src/pages/paas/laravel/how-tos/use-disk.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ import NextPage from "@/components/Common/nextpage";
<Alert variant='success'>همچنین بخوانید: <a href="../../details/file-system" className="blue-link">فایل سیستم لیارا</a></Alert>
<Alert variant='success'>همچنین بخوانید: <a href="../../disks/manage/about" className="blue-link">نحوه مدیریت دیسک‌ها</a></Alert>

<NextPage next="./use-websocket" />
<NextPage next="./customize-php-ini" />
</Layout>
102 changes: 0 additions & 102 deletions src/pages/paas/laravel/related-apps/adonisjs.mdx

This file was deleted.

74 changes: 74 additions & 0 deletions src/pages/paas/laravel/related-apps/lumen.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import Layout from "@/components/Layout";
import Button from "@/components/Common/button";
import Section from "@/components/Common/section";
import Alert from "@/components/Common/alert";
import Tabs from "@/components/Common/tab";
import Step from "@/components/Common/step";
import Card from "@/components/Common/card";
import Important from "@/components/Common/important";
import Highlight from "react-highlight";
import Link from "next/link";
import NextPage from "@/components/Common/nextpage";

<Layout>
# استقرار برنامه‌های Lumen در لیارا
<hr className="mb-2" />
<a className="blue-link" href="https://lumen.laravel.com/">Lumen</a> یک میکرو فریمورک PHP است که توسط تیم لاراول توسعه داده شده و برای ساخت APIهای سریع و کاربردهای کوچک استفاده می‌شود. این فریمورک از معماری لاراول بهره می‌برد اما سبک‌تر و سریع‌تر است.


<div className='h-2' />
شما می‌توانید پروژه‌های Lumen خود را با <a href="../how-tos/create-app" className="blue-link">ایجاد برنامه‌های Laravel</a> بر روی لیارا مستقر کنید. لیارا، از این میکرو فریم‌ورک به صورت کامل پشتیبانی می‌کند و نیازی
نیست که شما تغییر خاصی را در برنامه خود لحاظ کنید. نمونه یک فایل <Important>composer.json</Important> در پروژه‌های Lumen در ادامه آمده است:
<div className="h-2" />
<div dir='ltr'>
<Highlight className="json">
{`{
"name": "laravel/lumen",
"description": "The Laravel Lumen Framework.",
"keywords": ["framework", "laravel", "lumen"],
"license": "MIT",
"type": "project",
"require": {
"php": "^8.1",
"laravel/lumen-framework": "^10.0"
},
"require-dev": {
"fakerphp/faker": "^1.9.1",
"mockery/mockery": "^1.4.4",
"phpunit/phpunit": "^10.0"
},
"autoload": {
"psr-4": {
"App\\\\": "app/",
"Database\\\\Factories\\\\": "database/factories/",
"Database\\\\Seeders\\\\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\\\": "tests/"
}
},
"scripts": {
"post-root-package-install": [
"@php -r \\"file_exists('.env') || copy('.env.example', '.env');\\""
]
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"minimum-stability": "stable",
"prefer-stable": true
}
`}
</Highlight>
</div>
<div className="h-2" />
<Alert variant="success">
<p>
یک پروژه Lumen آماده به استقرار در <a href="https://github.com/liara-cloud/fastify-getting-started" className="blue-link">اینجا</a> وجود دارد که می‌توانید از آن، استفاده کنید.
</p>
</Alert>
</Layout>
12 changes: 6 additions & 6 deletions src/pages/paas/laravel/related-links.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ import NextPage from "@/components/Common/nextpage";
import {GoArrowLeft,} from "react-icons/go";

<Layout>
# لینک‌های مرتبط با پلتفرم NextJS
# لینک‌های مرتبط با پلتفرم Laravel
<hr className="mb-2" />
در ادامه، لینک‌های تمامی مستندات مربوط به پلتفرم NextJS برای شما قرار گرفته است تا بتوانید بیش از پیش، برنامه‌تان را بهینه‌تر و سریع‌تر توسعه دهید:
در ادامه، لینک‌های تمامی مستندات مربوط به پلتفرم Laravel برای شما قرار گرفته است تا بتوانید بیش از پیش، برنامه‌تان را بهینه‌تر و سریع‌تر توسعه دهید:
<div className='h-2' />
<div className="grid grid-cols-1 gap-4">
{[
{ platform: 'مستندات راه‌اندازی سرور ایمیل لیارا در برنامه‌های NextJS', link: "/" },
{ platform: 'مستندات اتصال برنامه‌های NextJS به سرویس ذخیره‌سازی ابری لیارا', link: "/" },
{ platform: 'مستندات اتصال دامنه خریداری شده به برنامه NextJS با سیستم مدیریت DNS لیارا', link: "/" },
{ platform: 'مستندات راه‌اندازی سرور ایمیل لیارا در برنامه‌های Laravel', link: "/" },
{ platform: 'مستندات اتصال برنامه‌های Laravel به سرویس ذخیره‌سازی ابری لیارا', link: "/" },
{ platform: 'مستندات اتصال دامنه خریداری شده به برنامه Laravel با سیستم مدیریت DNS لیارا', link: "/" },
{ platform: '', link: "/" },
].map(item =>
<Link href={item.link}>
Expand All @@ -35,5 +35,5 @@ import {GoArrowLeft,} from "react-icons/go";
</Link>
)}
</div>
<NextPage next="../related-links" />

</Layout>

0 comments on commit fa0f92d

Please sign in to comment.