نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الواجهات (Views) في Laravel

إنشاء الواجهات ملاحظة: هل تبحث عن مزيد من المعلومات حول كيفية كتابة قوالب Blade؟ ألق نظرة على توثيق Blade الكامل للبدء. تحتوي الواجهات على HTML الذي يُقدّمه تطبيقك وتفصل منطق وحدة التحكّم/منطق التطبيق من منطق عرضك التقديمي (presentation logic). تُخزّن الواجهات في المُجلّد resources/views. قد تشبه الواجهة البسيطة المثال التالي: <! - الواجهات مُخزّنة في resources/views/greeting.blade.php -> <html> <body> <h1>Hello, {{ $name }}</h1> </body> </html> كما ترى، يُوافق المّتغيّر الوسيط ...

الحماية CSRF في Laravel

مقدمة يُسهّل Laravel حماية تطبيقك من الهجمات مُزوّرة الطلب عبر المواقع (cross-site request forgery) واختصارها CSRF. تزويرات الطلب عبر المواقع هن نوع من الاستغلال تُنفّذ فيها أوامر غير مُرخّصة نيابة عن المستخدم المصادق عليهالمُستوثق (authenticated user). يُولّد Laravel تلقائيًّا "رمز" CSRF لكل جلسة مستخدم نشطة يديرها التطبيق. يُستخدم هذا الرمز (token) للتحقّق من كون المستخدم المصادق عليه نفس الشخص الذي يقدّم الطلبات للتطبيق. يجب أن تضيف حقل CSRF مخفي في كل مرّة تعرّف فيها نموذج HTML في تطبيقك كي تتثبت ...

الطلبات HTTP في Laravel

الوصول إلى الطلب عليك التلميح إلى نوع الصنف Illuminate\Http\Request في وحدة تحكمّك للحصول على نسخة الطلب HTTP الحالي عبر إضافة الاعتماديّة. ستُضاف نسخة الطلب الوارد تلقائيًّا بواسطة حاوي الخدمات: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { /** * خزّن مستخدمًا جديدًا * * @param Request $request * @return Response */ public function store(Request ...

التوجيه (Routing) في Laravel

التوجيه الأساسي تقبل أغلب مسارات Laravel الأساسيّة مُتغّيرين: رابط URI  و نطاق مغلق Closure مما يُوفّر طريقة بسيطة ومعبّرة جدّا لتعريف المسارات (routes): Route::get('foo', function () { return 'Hello World'; }); ملفات المسار الإفتراضيّة كل مسارات Laravel مُعرّفة في ملفات مساراتك الموجودة في المجلّد routes. يُحمّل إطار العمل كل هذه الملفّات تلقائيًا. يعرّف الملف routes/web.php كل المسارات المُخصّصة لواجهة الويب. مجموعة البرمجيّات الوسيطة web معيّنة على كل المسارات وتوفّر خاصيّات مثل حالة الجلسة (session state) والحماية CSRF. المسارات ...

الاستجابات HTTP في Laravel

إنشاء الردود السلاسل النصيّة والمصفوفات يجب على جميع الطرق ووحدات التحكّم رد استجابة لإرسالها مرّة أخرى إلى متصفّح المستخدم. يوفر Laravel عدة طرق مختلفة لإرجاع الردود. أكثر رد أساسي هو رد سلسلة نصيّة من مسار أو جهاز تحكّم. سيُحوّل إطار العمل السلسلة النصيّة إلى استجابة HTTP كاملة تلقائيًا: Route::get('/', function () { return 'Hello World'; }); يمكنك بالإضافة لرد السلاسل من مساراتك ووحدات تحكّمك رد مصفوفات. سيُحوّل إطار العمل تلقائيًا المصفوفة لاستجابة JSON: Route::get('/', function () { ...

التسجيل (Logging) في Laravel

مقدمة يوفر Laravel خدمات تسجيل صلبة (robust) تسمح لك بتسجيل الرسائل في ملفّات، و سجّل أخطاء النظام، وحتى بتطبيق Slack لإعلام فريقك بأكمله وذلك لمساعدتك على معرفة المزيد حول ما يحدث داخل تطبيقك. يستخدم Laravel وراء الكواليس مكتبة Monolog التي توفر الدعم لمجموعة متنوعة من معالجات السجل القوية. يجعل Laravel إعداد هذه المُعالجات سهلة للغاية، ممّا يسمح لك بالتنسيق بينهم لتخصيص معالجة سجل تطبيقك. الضبط توجد كل إعدادات نظام تسجيل تطبيقك في ملف الإعدادات config/logging.php. يتيح لك هذا الملف إعداد ...

الجلسات HTTP في Laravel

مقدّمة توفر الجلسات طريقة لتخزين المعلومات حول المستخدم على عدّة طلبات نظرًا لأن التطبيقات المُعتمدة على HTTP بدون حالة. يأتي Laravel مع مجموعة متنوعة من الخلفيّات (backends) التي يمكن الوصول إليها عبر واجهة برمجية API تعبيرية موحّدة. كما يتضمّن دعم خلفيات شائعة مثل Memcached وRedis وقواعد البيانات خارج الأطر المألوفة. الضبط يُخزّن ملف إعدادات الجلسة في config/session.php. تأكد من مراجعة خياراتك المتاحة في هذا الملف. Laravel مُعد افتراضيًّا لاستخدام برنامج تشغيل (driver) الجلسة file الذي يعمل جيّدًا في العديد من ...

وحدات التحكّم (Controllers) في Laravel

مقدمة بدلًا من تعريف كامل منطق معالجة طلباتك (request handling logic) على أنّها نطاقات مغلقة (‎(Closures في ملفّات المسارات، قد ترغب في تنظيم هذا السلوك (behavior) باستخدام أصناف ووحدات التحكّم. تستطيع وحدات التحكّم جمع منطق معالجة الطلبات ذي الصلة في صنف واحد. تخزّن وحدات التحكّم في المجلّد app/Http/Controllers. وحدات التحكّم الأساسية تعريف وحدات التحكّم تجد أدناه مثالًا عن وحدة تحكّم بسيطة. لاحظ أن وحدة التحكّم تُوسّع صنف وحدة التحكّم الأساسية المُحتواة في Laravel. يوفّر الصنف الأساسي عددًا من التوابع المفيدة ...

البرمجيّات الوسيطة (Middleware) في Laravel

مقدمة تُوفِّر البرمجيّات الوسيطة آلية ملائمة لفرز الطلبات HTTP التي تدخل تطبيقك. على سبيل المثال، يحتوي Laravel على برمجيّّة وسيطة تتحقق إن كان مستخدم تطبيقك مصادقا عليه (authenticated). في حالة لم يكن مصادقا عليه، تعيد البرمجيّة الوسيطة توجيهه لصفحة تسجيل الدخول. في حالة كان مصادقا عليه، ستسمح البرمجيّة للطلب بالمرور لسائر التطبيق. يمكن طبعا كتابة برمجيّات وسيطة للقيام بمهام متنوعة عديدة عدا تسجيل الدخول. قد تكون برمجيّة CORS وسيطة مسؤولة عن إضافة الترويسات (headers) المناسبة لكل الردود التي يرسلها تطبيقك. ...

توليد عناوين URL في Laravel

مقدمة يوفّر Laravel العديد من المساعدين لمساعدتك في إنشاء عناوين URL لتطبيقك. فائدتهم الأساسية تظهر طبعا عند بناء روابط في قوالبك (templates) واستجابات الواجهة البرمجيّة، أو عند توليد ردود إعادة توجيه إلى جزء آخر من تطبيقك. الأساسيات توليد عناوين URL أساسية يمكن استخدام المساعد url لتوليد عناوين URL عشوائية لتطبيقك. سيستخدم العنوان URL المُنشأ تلقائيًا المخطَّط (HTTP أو HTTPS) ويستضيف من الطلب الحالي: $post = App\Post::find(1); echo url("/posts/{$post->id}"); // http://example.com/posts/1 الوصول إلى العنوان URL الحالي سترد النسخة Illuminate\Routing\UrlGenerator إن لم يُوفّر أي ...

اختبارات المتصفح (Laravel Dusk) في Laravel

مقدمة يوفّر لك Laravel Dusk أتمتة للمتصفّح واختبار للواجهات البرمجيّة بطريقة سهلة الاستخدام. بشكلٍ افتراضي، لا يتطلّب Dusk تنصيب JDK أو Selenium على جهازك، حيث يستعمل تثبيت مستقل (standalone) لبرمجية ChromeDriver. بأي حال، يمكنك استخدام أي برنامج تشغيل متوافق مع Selenium إذا أردت. التثبيت للبدء، أضف الاعتمادية laravel/dusk إلى مشروعك: composer require --dev laravel/dusk بعد تثبيت Dusk، سجّل مزوّد الخدمة الذي يتبع إلى Dusk، وهو Laravel\Dusk\DuskServiceProvider. بشكل عام، يكون هذا تلقائيًّا باستخدام التسجيل التلقائي لمزوّدات خدمة Laravel. تنبيه: إذا قمت بتسجيل ...

التوطين في Laravel

مقدمة تُقدِّم خاصيّة التوطين في Laravel طريقةً مريحةً وسهلةً لإعطاء ترجمات للكلمة في عدّة لغات، ممّا يسمح للتطبيق بدعم لغات متعدّدة. تُحفظ سلاسل المحارف الخاصّة بكل لغة يدعمها التطبيق في المجلد resources/lang. يحتوي هذا الملف على مجلدٍ فرعي لكل لغة يدعمها التطبيق: /resources /lang /en messages.php /es ...

Laravel Horizon

مقدمة يوفّر Horizon لوحة تحكم جميلة و إعدادات برمجيّة لطوابير ‏‎(Queues) Laravel المبنيّة على Redis، فهو يوفّر لك مراقبة سهلة للمقاييس الأساسية لنظام الطوابير مثل إنتاجيّة العمل ووقت التشغيل، وفشل المهام. ستبقى جميع عمليّات الضبط في ملف ضبط واحد وبسيط ممّا يضمن التعاون الكامل بين أعضاء فريقك. التثبيت تنبيه: يتطلّب ‎،Horizon نظرًا لاستخدامه لإشارات العمليّة غير متزامنة، إلى نسخة PHP‏ 7.1‏ فما فوق. ويجب عليك التأكّد من تعيين محرك الطابور إلى Redis في ملف ضبط الطابور. يمكنك استخدام Composer لتثبيت ...

Laravel Cashier

مقدمة يقدم Laravel Cashier واجهة قويّة لاشتراكات خدمات الفواتير Stripe و Braintree، وهي تعالج تقريبًا كل شيفرات boilerplate الخاصة باشتراك الفواتير التي تخشى من كتابتها، وبالإضافة إلى إدارة الاشتراكات الأساسية، يستطيع Cashier التعامل مع القسائم (coupons)، ومبادلة الاشتراكات وكميّات الاشتراكات وفترات السماح بالإلغاء وحتى إنشاء ملفات PDF للفواتير. تنبيه: إذا كنت تضع رسوم لمرة واحدةً فقط ولا توفّر الاشتراكات، فيجب عليك أن لا تستخدم Cashier، وبدلًا من ذلك، يجب عليك استخدام حزمة برمجيات التطوير (SDK) الخاصة بـ Braintree و Stripe ...

Laravel Scout

مقدمة يوفر Scout حلًا بسيطًا يستند على برنامج تشغيل (Driver) لإضافة البحث عن نص كامل في نماذج Eloquent. باستخدام مراقبي النموذج (model observers)، سيحافظ Scout بشكل تلقائي على مزامنة فهارس البحث مع سجلات Eloquent الخاصة بك. في الوقت الحالي، يأتي Scout مع برنامج التشغيل Algolia، ومع ذلك، فإن كتابة برامج تشغيل مخصصة بسيطة ولديك الحريّة في توسيع Scout مع تطبيقات البحث الخاصة بك. التثبيت ثبت أولًا Scout عن طريق مدير حزم Composer: composer require laravel/scout بعد تثبيت Scout، يجب عليك ...

Laravel Socialite

مقدمة بالإضافة إلى الاستيثاق النمطي القائم على النموذج، يوفر Laravel أيضًا طريقة بسيطة ومريحة للاستيثاق مع موفري OAuth باستخدام Laravel Socialite، وهو يدعم حاليا الاستيثاق مع Facebook و Twitter و LinkedIn وGoogle و GitHub و Bitbucket. ملاحظة: المحولات للمنصات الأخرى موجودة في موقع مجتمع Socialite Providers. التثبيت استخدم Composer لإضافة الحزمة إلى اعتماديّات مشروعك لبدء استخدام Socialite: composer require laravel/socialite الضبط ستحتاج قبل استخدام Socialite إلى إضافة بيانات اعتماد لخدمات OAuth التي يستخدمها تطبيقك في ملف الضبط config/services.php ويجب استخدام ...

التوطين في Laravel

مقدمة تُقدِّم خاصيّة التوطين في Laravel طريقةً مريحةً وسهلةً لإعطاء ترجمات للكلمة في عدّة لغات، ممّا يسمح للتطبيق بدعم لغات متعدّدة. تُحفظ سلاسل المحارف الخاصّة بكل لغة يدعمها التطبيق في المجلد resources/lang. يحتوي هذا الملف على مجلدٍ فرعي لكل لغة يدعمها التطبيق: /resources /lang /en messages.php /es ...

Laravel Cashier

مقدمة يقدم Laravel Cashier واجهة قويّة لاشتراكات خدمات الفواتير Stripe و Braintree، وهي تعالج تقريبًا كل شيفرات boilerplate الخاصة باشتراك الفواتير التي تخشى من كتابتها، وبالإضافة إلى إدارة الاشتراكات الأساسية، يستطيع Cashier التعامل مع القسائم (coupons)، ومبادلة الاشتراكات وكميّات الاشتراكات وفترات السماح بالإلغاء وحتى إنشاء ملفات PDF للفواتير. تنبيه: إذا كنت تضع رسوم لمرة واحدةً فقط ولا توفّر الاشتراكات، فيجب عليك أن لا تستخدم Cashier، وبدلًا من ذلك، يجب عليك استخدام حزمة برمجيات التطوير (SDK) الخاصة بـ Braintree و Stripe ...

Laravel Horizon

مقدمة يوفّر Horizon لوحة تحكم جميلة و إعدادات برمجيّة لطوابير ‏‎(Queues) Laravel المبنيّة على Redis، فهو يوفّر لك مراقبة سهلة للمقاييس الأساسية لنظام الطوابير مثل إنتاجيّة العمل ووقت التشغيل، وفشل المهام. ستبقى جميع عمليّات الضبط في ملف ضبط واحد وبسيط ممّا يضمن التعاون الكامل بين أعضاء فريقك. التثبيت تنبيه: يتطلّب ‎،Horizon نظرًا لاستخدامه لإشارات العمليّة غير متزامنة، إلى نسخة PHP‏ 7.1‏ فما فوق. ويجب عليك التأكّد من تعيين محرك الطابور إلى Redis في ملف ضبط الطابور. يمكنك استخدام Composer لتثبيت ...

Laravel Scout

مقدمة يوفر Scout حلًا بسيطًا يستند على برنامج تشغيل (Driver) لإضافة البحث عن نص كامل في نماذج Eloquent. باستخدام مراقبي النموذج (model observers)، سيحافظ Scout بشكل تلقائي على مزامنة فهارس البحث مع سجلات Eloquent الخاصة بك. في الوقت الحالي، يأتي Scout مع برنامج التشغيل Algolia، ومع ذلك، فإن كتابة برامج تشغيل مخصصة بسيطة ولديك الحريّة في توسيع Scout مع تطبيقات البحث الخاصة بك. التثبيت ثبت أولًا Scout عن طريق مدير حزم Composer: composer require laravel/scout بعد تثبيت Scout، يجب عليك ...

معالجة الأخطاء (Error Handling) في Laravel

مقدمة عند بدء مشروع Laravel جديد تكون معالجة الأخطاء والاستثناءات مُعدّة لك مُسبقا. تُسجّل كافة الاستثناءات التي يطلقها تطبيقك في الصنف App\Exceptions\Handler ثم تُرجع للمُستخدم. سنتعمّق في هذا الصنف أكثر من خلال هذا التوثيق. الضبط يحدد الخيار debug في ملف إعداداتك config/app.php مقدار المعلومات الفعلية التي تُعرض عن الخطأ للمستخدم. يُعد هذا الاختيار إفتراضيًّا ليحترم قيمة متغيّر البيئة APP_DEBUG التي تُخزّن في ملفك env. . عليك وضع قيمة متغير البيئة APP_DEBUG على true عند التطوير المحلّي. يجب أن توضع هذه ...

العقود (Contracts) في Laravel

مقدمة عقود Laravel هي مجموعة من الواجهات (interfaces) التي تعرِّف الخدمات المركزية التي يوفرها إطار العمل. على سبيل المثال، يعرِّف العقد Illuminate\Contracts\Queue\Queue  الدوال اللازمة لصف الأعمال في الطوابير، بينما يعرِّف عقد Illuminate\Contracts\Mail \Mailer الدوال اللازمة لإرسال رسائل البريد الإلكتروني. لكل عقد تعريف استخدام (implementation) يوفره إطار العمل. على سبيل المثال، يوفِّر Laravel تعريف استخدام للطابور لعدة أنواع من المشغلات (drivers) كما يوفِّر تعريف استخدام للمُرسِل مشغل بواسطة SwiftMailer. توجد كل عقود Laravel في مستودعات في GitHub. هذا يوفر نقطة مرجعية سريعة لكل ...

الأحداث (Events) في Laravel

مقدمة توفّر أحداث Laravel تطبيق مراقب بسيط  يسمح بالإشتراك والاستماع لعدّة أحداث يطلقها التطبيق. تُخزَّن أصناف الأحداث في الدليل app/Events، في حين توجد المنصتات في app/Listeners. لا تقلق إن لم تجد هذه الدلائل في التطبيق إذ تُصنع حين تولّد أحداثًا و منصتات باستعمال أوامر artisan. الأحداث طريقة ممتازة لفك ارتباط عدّة عناصر من التطبيق حيث يمكن أن يكون لحدث واحد عدّة منصتات منفصلة كليا عن بعضها البعض. مثلًا، قد تريد إرسال إعلان slack للمستخدم كلما شحن طلب. بدل ربط معالجة ...

الإشعارات (Notifications) في Laravel

مقدمة بالإضافة لدعم إرسال البريد الإلكتروني، يوفّر Laravel دعمًا لإرسال إشعارات بين قنوات توصيل عديدة من ضمنها البريد الإكتروني، والرسائل القصيرة (عبر Nexmo)، و Slack. يمكن أيضًا حفظ الإشعارات في قاعدة البيانات لإظهارها في واجهة الويب. تكون الإشعارات في العادة على شكل رسائل قصيرة، وغنية بالمعلومات، تنبّه المستخدم لشيءٍ حدث في التطبيق. مثلًا، إن كنت تكتب تطبيق فواتير، يمكنك إرسال تنبيه "تمّ خلاص الفاتورة" للمستخدم عبر بريد إلكتروني أو رسالة قصيرة. إنشاء الإشعارات في Laravel، يُمثَّل كل تنبيه بصنف (موجودٌ ...

قوالب Blade في Laravel

مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...

البث (Broadcasting) في Laravel

مقدمة في العديد من التطبيقات الحديثة، تُستعمل Websockets لتنفيذ واجهات استخدام فورية ذات تحيين مباشر. عند رفع بعض البيانات للخادم، تُرسَل في العادة رسالة على اتصال websocket لتُعالَج من قبل العميل. يوفّر هذا بديلًا فعالًا للسحب المتواصل للتطبيق من أجل التغييرات. لمساعدتك في بناء هذا النوع من التطبيقات، يجعل Laravel من السهل "بث" أحداث عبر صلة websocket. يسمح بث الأحداث بمشاركة نفس الأحداث بين شيفرة من جهة الخادم وشيفرة من جهة العميل. ملاحظة: قبل التعمق في بث الأحداث، تأكد من ...

اختبارات HTTP في Laravel

مقدمة يزوّدك Laravel بـواجهة برمجيّة سلسة للقيام بطلبات HTTP لتطبيقك وتحليل الناتج. على سبيل المثال، القِ نظرة على الاختبار التالي: <?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; use Illuminate\Foundation\Testing\WithoutMiddleware; class ExampleTest extends TestCase {    /**     * مثال اختبار بسيط.     *     * @return void     */    public function testBasicTest()    {        $response = $this->get('/');        $response->assertStatus(200);    } } ينشئ التابع get طلب GET للتطبيق، بينما يتأكد التابع assertStatus من أنّ الرد المُعاد يحتوي على رمز حالة HTTP المعطى. إضافةً إلى هذا التأكد البسيط، يحتوي Laravel على مجموعة من توابع التأكيد لفحص المعلومات المتعلقة بالرد، كترويسات الرد (response headers)‎، ومحتوى الرد، وبنية ...

التجزئة (Hashing) في Laravel

مقدمة تقدم واجهة التجزئة الخاصة بإطار Laravel تجزئة Bcrypt و Argon2 آمنة لتخزين كلمات مرور المستخدم. إذا كنت تستخدم الصنفين الداخليين ‎(Built-in classes)‎ LoginController و RegisterController المتضمنين مع تطبيق Laravel الخاص بك، فإنهما يستخدمان Bcrypt للتسجيل والاستيثاق تلقائيًا. ملاحظة: يعدّ Bcrypt خيارًا رائعًا لتجزئة كلمات المرور لأن "عامل العمل" الخاص به قابل للتعديل، مما يعني أنه يمكن زيادة الوقت المستغرق لإنشاء تجزئة كلما زادت طاقة المعدات. الضبط يُضبط محرك تشغيل التجزئة التلقائي الخاص بتطبيقك في ملف الإعدادات config/hashing.php. يوجد حاليا ...

منشئ الاستعلامات في Laravel

مقدمة يوفّر منشئ استعلامات قاعدة بيانات Laravel واجهة ملائمة وسلسة لإنشاء وإدارة استعلامات قاعدة البيانات. يمكن استخدامه لتنفيذ معظم عمليات قاعدة البيانات بتطبيقك كما أنه يعمل على جميع أنظمة قواعد البيانات المدعومة. يستخدم منشئ استعلامات Laravel ارتباط المعاملة PDO لحماية تطبيقك من هجمات حقن SQL. لا حاجة لتنظيف السلاسل النصيّة التي تُمرّر كارتباطات. استرداد النتائج استرداد جميع الصفوف من الجدول تستطيع استخدام التابع table على الواجهة الساكنة DB لبدء استعلام. يرد التابع table نسخة منشئ استعلامات فصيحة (fluent) للجدول المحدد، ...

بنية المجلدات في Laravel

مقدمة تهدف هيكلية تطبيق Laravel الافتراضية إلى توفير نقطة بداية رائعة لكل من التطبيقات الكبيرة والصغيرة. بالطبع، أنت حر في تنظيم تطبيقك كما تشاء. لا يفرض Laravel أي قيود تقريبًا على مكان وجود أي صنف من أصناف مشروعك، طالما أن Composer يمكنه تحميل الصنف تلقائيًا. أين هو مجلّد النماذج؟ عند عملية البدء مع Laravel، يشوشّ العديد من المطورين بسبب عدم وجود المجلّد models. ومع ذلك، فإن عدم وجود مثل هذا المجلّد هو متعمد. نجد كلمة "نماذج" غامضة لأنها تعني الكثير ...

المجموعات (Collections) في Laravel

 مقدمة يوفر الصنف Illuminate\Support\Collection غلافًا ملائمًا و مساعدًا على العمل مع مصفوفات البيانات. مثلًا، تفقد الشيفرة الموالية إذ سنستعمل المساعد collect لإنشاء نسخة Collection جديدة من المصفوفة، ننفذ الدالة strtoupper مع كل عنصر، ثم نحذف كل العناصر الفارغة: $collection = collect(['taylor', 'abigail', null])->map(function ($name) { return strtoupper($name); }) ->reject(function ($name) { return empty($name); }); كما ترى، تسمح الدالة بسلسلة توابعها لتنفيذِ تخطيطِ دقيق و التحكم في حجم المصفوفة قيد العمل. بشكل عام، المجموعات غير قابلة للتغيير، أي أن كل ...

الترخيص (Authorization) في Laravel

مقدمة بالإضافة إلى توفير خدمات الاستيثاق المضمنة بإطار العمل Laravel، يوفر Laravel أيضًا طريقة بسيطة لترخيص عمليات المستخدم على مورد معين. مثلما هو الحال مع الاستيثاق، فإن أسلوب Laravel للترخيص بسيط، وهناك طريقتان أساسيتان لترخيص العمليات: البوابات والسياسات (gates and policies). فكر في البوابات والسياسات مثل المسارات ووحدات التحكم. توفر البوابات أسلوبًا بسيطًا يعتمد على الإغلاق للترخيص، بينما تقوم السياسات، مثل وحدات التحكم، بتجميع منطقها حول نموذج معين أو مورد. سنستكشف البوابات أولاً ثم نفحص السياسات. لست بحاجة إلى الاختيار ...

قوالب Blade في Laravel

مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...

التشفير (Encryption) في Laravel

مقدمة يستخدم مُشفّر Laravel مكتبة التشفير OpenSSL لتوفير تشفير AES-256 و AES-128. ننصحك بشدة باستخدام تسهيلات التشفير المضمنة في Laravel وعدم محاولة إنشاء خوارزميات التشفير المنشأة محليًا والخاصة بك. يتم توقيع جميع قيم Laravel المشفرة باستخدام رسالة رمز الاستيثاق (message authentication code - MAC) بحيث لا عدل قيمها الأساسية بمجرد تشفيرها. الضبط قبل استخدام مُشفّر Laravel، اضبط خيار المفتاح (‎(key في ملف الإعدادات config/app.php. استخدم الأمر php artisan key:generate لإنشاء هذا المفتاح لأن أمر Artisan سيستخدم مولد بايت عشوائي آمن ...

بناء Javascript و CSS

مقدمة لا يفرض Laravel عليك استخدام أي معالج JavaScript و CSS، إلّا إنّه يوفّر نقطة انطلاق بسيطة باستخدام Bootstrap و Vue ممّا سيساعد العديد من التطبيقات. بصفة عامّة، يستخدم Laravel أوامر npm لتنصيب حزم الواجهات الأمامية هذه. CSS يوفّر Laravel Mix واجهة برمجية (API) سهلة ومعبّرة لترجمة Sass أو Less، وهي إضافات للغة CSS الأساسية التي تضيف المتغيّرات والمخاليط (mixins) والعديد من الخصائص الأخرى التي تجعل العمل بلغة CSS أكثر متعة. في هذه الصفحة، سنناقش باختصار ترجمة CSS بصفة عامّة ...

الحزم (Package development) في Laravel

مقدمة الحزم هي الطريقة الأولى لإضافة وظائف ل Laravel. يمكن أن تكون الحزم أي شيء مثل طريقة للعمل مع التواريخ مثل Carbon أو إطار متكامل لاختبار قواعد البيانات مثل Behat. طبعًا، يوجد أنواع مختلفة من الحزم. بعض الحزم مكتفية بذاتها أي أنها تعمل مع أي إطار PHP مثل Behat و Carbon. يمكن طلب أي من هذه الحزم عبر الملف composer.json. من جهة أخرى، بعض الحزم مصنوعة خصيصا ل Laravel. هذه الحزم لديها مسارات، وحدات تحكم،  واجهات، وملفات ضبط معدة خصيصًا ...

النشر على الخادم الإنتاجي في Laravel

مقدمة عندما تكون جاهزًا لنشر تطبيق Laravel على الخادوم الإنتاجي، هناك بعض الأشياء المهمة التي يمكنك القيام بها للتأكد من تشغيل التطبيق بأقصى كفاءة ممكنة. في هذا المستند، سنغطي بعض نقاط البداية الرائعة للتأكد من نشر تطبيق Laravel بشكل صحيح. ضبط الخادوم Nginx إذا كنت تقوم بنشر تطبيقك على خادوم Nginx، فيمكنك استخدام ملف التهيئة التالي كنقطة بداية لتهيئة خادوم الويب الخاص بك. على الأرجح، يجب تخصيص هذا الملف بناءً على تهيئة خادومك. إذا كنت ترغب في المساعدة في إدارة ...

مقدمة إلى التعامل مع الاختبارات في Laravel

مقدمة بُني Laravel آخذًا الاختبارات بالحسبان؛ إذ يدعم Laravel الاختبارات باستخدام PHPUnit، ويهيّئ ملف phpunit.xml جاهز للعمل بما يناسب تطبيقك. كما دُعم إطار العمل بتوابع مساعدة لتمهيد الطريق أمام اختبار تطبيقاتك بشكل سلس وسهل. يحتوي المجلد tests الخاص بتطبيقك افتراضيًّا على مجلّدين فرعيين: Feature و Unit. تمكنك اختبارات الوحدة Unit tests من التركيز على جزء صغير ومعزول من الشيفرة الخاصة بك، إذ أنّ معظم اختبارات الوحدة تركّز فقط على تابع واحد؛ بينما تستخدم اختبارات الميزات Feature tests لاختبار جزء كبير ...

الواجهات الساكنة (Facades) في Laravel

مقدمة تُوفِّر الواجهات الساكنة واجهة "ساكنة" (static) للأصناف المتوافرة في حاوي خدمات تطبيقك. يأتي Laravel مع عدة واجهات تمكنك من استخدام كل خاصيات Laravel تقريبًا. تمثل واجهات Laravel الساكنة "وسطاء ساكنات" (static proxies) للأصناف الأساسية بحاوي الخدمات مما يوفر كل فوائد الصِّيغ (syntax) المقتضبة والمُعبِّرة مع الحفاظ على قابلية الاختبار ومرونة أكبر من الدالات الساكنة التقليدية. كل واجهات Laravel الساكنة مُعرَّفةٌ في مجال الأسماء Illuminate\Support\Facades. يمكننا الوصول لواجهة ساكنة بهذه الطريقة: use Illuminate\Support\Facades\Cache; Route::get('/cache', function () { return ...

مشغّل المهام Envoy في Laravel

مقدمة يوفّر Laravel Envoy صياغة نظيفة ومختزلة لتعريف المهام الشائعة وتشغيلها على الخوادم البعيدة (remote servers)، ويمكنك إعداد المهام بسهولة باستخدام صياغة نمط Blade للنشر، أوامر Artisan وغيرها. ويدعم Envoy في الوقت الحالي أنظمة تشغيل لينكس و ماك فقط. التثبيت ثبّت أولًا Envoy باستخدام أمر global require الخاص بالأمر Composer: composer global require laravel/envoy قد تتسبب مكتبات Composer العامة (global) في بعض الأحيان في حدوث تعارضات في الحزم، يمكنك في هذه الحالة استخدام مكتبة cgr والذي يعد بديلًا للأمر composer global ...

ترجمة الأصول (Laravel Mix)

مقدمة يوفّر Laravel Mix واجهة برمجية (API) واضحة لتعريف خطوات بناء Webpack للتطبيق باستعمال العديد من المعالجات المسبقة (pre-processors) للغتي CSS و Javascript. باستخدام سلسلة بسيطة من استدعاءات التوابع، يمكن تعريف مسار معالجة الأصول (assets) في التطبيق. فمثلًا: mix.js('resources/assets/js/app.js', 'public/js') .sass('resources/assets/sass/app.scss', 'public/css'); إن أصبحت مرتبكا و مشوشا حول البدء مع Webpack وترجمة الأصول، فسوف تحب Laravel Mix. لكنك لست مطالبًا باستعمالها لبناء تطبيقك. طبعًا لك حرية اختيار أي مسار لمعالجة الأصول تريده، أو أن لا تستعمل أيًا منها على ...

طوابير الانتظار (Queues) في Laravel

مقدمة ملاحظة: يوفر Laravel الآن Horizon، لوحة تحكم وضبط للأنظمة المدعومة من طوابير انتظار Redis. تفقد توثيق Horizon لمزيد من المعلومات. توفّر طوابير انتظار Laravel واجهة API موحدة بين مختلف طوابير انتظار البيئة الخلفية مثل Beanstalk أو Amazon SQS أو Redis أو قواعد البيانات العلائقية. تسمح ٌطوابير الانتظار بتأخير إنجاز المهام التي تتطلب الكثير من الوقت مثل إرسال بريد لوقت لاحق. تأخير هذه المهام يسرّع طلبات الويب في التطبيق بشكل كبير. يوجد ملف ضبط طوابير الانتظار في config/queue.php. ستجد في ...

بيئة تطوير Valet في Laravel

مقدمة Valet هي بيئة تطوير Laravel لأجهزة ماك. لا حاجة إلى استخدام Vagrant، ولا ملف ‎/etc/hosts. يمكنك أيضًا مشاركة مواقعك بشكل عام باستخدام الأنفاق المحلية. تقوم بيئة Laravel Valet بتكوين جهاز ماك الخاص بك لتشغيل Nginx دائمًا في الخلفية عند بدء تشغيل الجهاز. ثم، باستخدام DnsMasq، يقوم خادم Valet بتجميع جميع الطلبات على نطاق test.* للإشارة إلى المواقع المثبتة على جهازك المحلي. بعبارة أخرى، بيئة تطوير Laravel فائق السرعة تستخدم ما يقرب من 7 ميغابايت من ذاكرة الوصول العشوائي RAM. ...

تهجير قاعدة البيانات في Laravel

مقدمة تشبه عمليات التهجير التحكم في الإصدار لقاعدة بياناتك، مما يسمح لفريقك بتعديل مخطط قاعدة البيانات ومشاركته بسهولة. وعادةً ما تقترن عمليات التهجير بمنشئ مخططات Laravel لبناء مخطط قاعدة البيانات تطبيقك بسهولة. وإذا كان عليك في أي وقت مضى إخبار أحد أعضاء الفريق بإضافة عمود يدويًا إلى مخطط قاعدة البيانات المحليّة الخاصة بك، فقد واجهت المشكلة التي حُلّت باستخدام تهجيرات قاعدة البيانات. توفّر الواجهة الساكنة Schema دعمًا لإنشاء وتعديل الجداول عبر جميع أنظمة قواعد البيانات المدعومة من قبل Laravel. توليد ...

التخزين المؤقت (Cache) في Laravel

الضبط يوفر Laravel واجهة برمجيّة معبّرة وموحّدة لكل التخزين المؤقت. يوجد ملف ضبط التخزين في config/cache.php. في هذا الملف، يمكن تحديد مشغّل التخزين الذي سيُستعمل تلقائيًّا في كامل التطبيق. يدعم Laravel العديد من الواجهات الخلفيّة الشائعة مثل Memcached و Redis من البداية. يحتوي ملف ضبط التخزين أيضًا على خيارات متعدّدة مفصّلة في الملف ذاته لذا تأكد من قراءته جيدا. تلقائيًّا، يستعمل Laravel برنامج التشغيل file للتخزبن المؤقت، يسجل هذا المشغل الكائنات المخزّنة بطريقة متسلسلة في نظام الملفات. بالنسبة للتطبيقات الكبيرة، ...

ترقيم الصفحات Pagination في Laravel

مقدمة كثيرًا ما يكون ترقيم الصفحات في الأطر الأخرى متعبًا جدًا. هنا في Laravel، دُمج مُرقّم صفحات Laravel مع منشئ الاستعلامات و رابط الكائنات بالعلاقات Eloquent، وهو يوفّر ترقيم صفحات لنتائج قواعد البيانات سهل الاستخدام فورًا. يتوافق HTML المُنشئ بواسطة مُرقّم الصفحات مع إطار عمل Bootstrap CSS. الاستخدام الأساسي ترقيم نتائج صفحات منشئ الاستعلام هناك عدّة طرق لترقيم العناصر. أبسطها باستخدام التابع paginate على منشئ الاستعلامات أو Eloquent الاستعلامات. يهتم التابع paginate تلقائيًا بإعداد الحد و والإزاحة (offset) المناسبة استنادًا ...

مشغّل المهام Envoy في Laravel

مقدمة يوفّر Laravel Envoy صياغة نظيفة ومختزلة لتعريف المهام الشائعة وتشغيلها على الخوادم البعيدة (remote servers)، ويمكنك إعداد المهام بسهولة باستخدام صياغة نمط Blade للنشر، أوامر Artisan وغيرها. ويدعم Envoy في الوقت الحالي أنظمة تشغيل لينكس و ماك فقط. التثبيت ثبّت أولًا Envoy باستخدام أمر global require الخاص بالأمر Composer: composer global require laravel/envoy قد تتسبب مكتبات Composer العامة (global) في بعض الأحيان في حدوث تعارضات في الحزم، يمكنك في هذه الحالة استخدام مكتبة cgr والذي يعد بديلًا للأمر composer global ...

اختبارات قواعد البيانات في Laravel

مقدمة يزوّدك Laravel بمجموعة من الأدوات المفيدة لتسهيل اختبار تطبيقاتك المقادة بواسطة قواعد البيانات. أولاً، يمكنك استخدام التابع المساعد assertDatabaseHas للتأكد من أن البيانات موجودة ضمن قاعدة البيانات ضمن مجموعة الشروط المعطاة. على سبيل المثال، إن أردت التأكد من أن سجلًا ما موجود ضمن جدول users ببريد مطابق لـ sally@example.com، يمكنك فعل التالي: public function testDatabase() { // القيام بمناداة التطبيق... $this->assertDatabaseHas('users', [ 'email' => 'sally@example.com' ...

دورة حياة الطلب (Request Lifecycle) في Laravel

مقدمة عندما تفهم كيفية عمل أدوات تطويرك تزداد راحتك وثقتك عند استخدامها. تطوير التطبيقات لا يشذ عن هذه القاعدة. الهدف من هذه الصفحة هو منحك نظرة عامة جيدة وعالية المستوى عن كيفية عمل إطار عمل Laravel. يزول الإحساس "السحري" عن كل شيء عندما تبدأ بتحسين فهمك لمنصة العمل بشكل عام. لا تيأس إن لم تفهم كل المصطلحات على الفور! حاول فقط تكوين فكرة عامة عما يحدث ومعرفتك ستزداد كلما اكتشفت أجزاء جديدة من هذا التوثيق. نظرة عامة عن دورة الحياة ...

مقدمو الخدمات (Service Providers) في Laravel

مقدمة مقدمو الخدمات هن الموقع المركزي لكامل عمليات تمهيد تطبيق Laravel. تطبيقك، ككامل خدمات Laravel الجوهرية، مُمَهَّد عبر مقدمي الخدمات. لكن ما الذي نقصده "بالتمهيد" (bootstrapping)؟ نقصد به عمومًا تسجيل الأشياء، بما في ذلك تسجيل ارتباطات حاويات الخدمات، ومنصتات الأحداث، والبرمجيات الوسيطة، وحتى المسارات (routes). مقدمو الخدمات هي المكان المركزي لإعداد تطبيقك مثلما ذكرنا سابقًا. إن فتحت الملف config/app.php المتضمن في Laravel فسترى المصفوفة providers، والتي تمثّل كل أصناف مقدمي الخدمات التي سَتُحَمَّل من أجل تطبيقك. كثير منهن طبعا مقدمون ...

إعادة تعيين كلمات المرور (Password Reset) في Laravel

مقدمة تريد أن تبدأ بسرعة؟ فقط نفذ الأمر php artisan make:auth في تطبيق Laravel جديد وانتقل بالمتصفح إلى الرابط http://your-app.test/register أو أي رابط URL آخر عيّن لتطبيقك. سيهتم هذا الأمر بنظام الاستيثاق بأكمله، بما في ذلك إعادة تعيين كلمات المرور! توفر معظم تطبيقات الويب للمستخدمين طريقة لإعادة تعيين كلمات المرور المنسية. بدلًا من إجبارك على إعادة برمجة ذلك في كل تطبيق، يوفر Laravel طرقًا ملائمة لإرسال رسائل تذكير بكلمات المرور وإجراء عمليات إعادة تعيين كلمة المرور. قبل استخدام ميزات إعادة ...

المجموعات في رابط الكائنات بالعلاقات Eloquent

مقدمة إنّ جميع مجموعات النتائج المتعددة المعادة من Eloquent هي كائنات من الصنف Illuminate\Database\Eloquent\Collection، بما فيها النتائج المستردة من التابع get أو من العلاقات. يرث صنف مجموعة Eloquent من الصنف الأساسي لمجموعة Laravel، وبالتالي ترث هذه المجموعات الكثير من التوابع التي تساعد بالعمل مع المصفوفات المستخدمة مع نماذج Eloquent. بالطبع، تعمل جميع المجموعات كمكررات، مما يمكّنك من المرور على عناصرها وكأنها مصفوفات عادية: $users = App\User::where('active', 1)->get(); foreach ($users as $user) {    echo $user->name; } لكنّ المجموعات أقوى بكثير من المصفوفات، إذ تزود الكثير ...

التعامل مع قواعد بيانات Redis في Laravel

مقدمة Redis هو مخزن متقدم لمفتاح-قيمة (key-value) وهو مفتوح المصدر، وغالبًا ما يشار إليه على أنه خادم هيكلية البيانات حيث يمكن أن تحتوي المفاتيح على سلاسل نصيّة وشيفرات وقوائم ومجموعات ومجموعات مرتبة. قبل أن نستخدم Redis مع Laravel، ستحتاج إلى تثبيت حزمة predis/predis عن طريق Composer: composer require predis/predis ويمكنك بدلًا من ذلك تثبيت ملحق PhpRedis PHP عن طريق PECL، ويعد هذا الملحق الأكثر تعقيدًا، ولكن ستكون النتائج ذات أداء أفضل لتطبيقات التي تستخدم Redis بشكل مكثف. الضبط إن ملف ضبط ...

الأمر Artisan console) Artisan) في Laravel

مقدمة Artisan هي واجهة الأوامر المُرفقة ب Laravel. وهي تُوفّر عددًا من الأوامر المفيدة والتي ستساعدك في بناء التطبيق. لإظهار جميع الأوامر التي يوفّرها Artisan، يمكنك استعمال الأمر list php artisan list يحتوي كل أمر على صفحة مساعدة "help" تعرّف وتوضّح الأمر كما تُقدّم قائمة المعاملات والخيارات لكل أمر. يُستعمل الأمر مسبوقًا بالكلمة help لإظهار صفحة المساعدة: php artisan help migrate Laravel REPL تأتي كل تطبيقات Laravel مُرفَقَةً ب Tinker، وهي REPL مشغّلة بواسطة حُزمة PsySH. يسمح Tinker بالتفاعل مع ...

حاوي الخدمات (Service Container) في Laravel

مقدمة حاوي خدمات Laravel (أي Laravel service container) هو أداةٌ قوية لإدارة اعتِماديَّات (dependencies) الصِّنف والقيام بإضافة اعتِماديَّات (dependency injection)." إضافة الاعتِماديَّات" هو مصطلح تقني يعني في مُجمله "إضافة" اعتماديات الصنف باستخدام التابع الباني (constructor) أو في بعض الحالات توابع ضبط القيم (setter). لنلقِ نظرة على هذا المثال البسيط: <?php namespace App\Http\Controllers; use App\User; use App\Repositories\UserRepository; use App\Http\Controllers\Controller; class UserController extends Controller { /** * مستودع المُستخدِم تطبيق * * @var ...

تخزين الملفات (File storage) في Laravel

مقدمة يوفّر Laravel تجريدًا قويًا لنظام الملفات بفضل الحزمة Flysystem. يوفّر تضمين أنظمة الملفات في Laravel مشغّلات سهلة الاستعمال للتعامل مع الأنظمة المحلية و Amazon S3 والتخزين السحابي Rackspace، بل من السهل جدًا تغيير خيارات التخزين إذ تبقى وصلة API نفسها مع كل الأنظمة. الضبط يوجد ملف ضبط نظام الملفات في config/filesystems.php. يمكنك في هذا الملف ضبط كل الأقراص "disks". يمثّل كل قرص مشغّل تخزين ومكان تخزين خاص. يحتوي الملف على أمثلة ضبط لكل مشغّل مدعوم. لذا غيّر الملف حسب ...

جدولة المهام (Task scheduling) في Laravel

مقدمة ربّما ولّدت في الماضي نقطة دخول Cron لكل مهمة أردت جدولتها في الخادم. لكن يمكن أن يصبح هذا متعبًا بسرعة لأن الجدولة أصبحت خارج تحكم المصدر وأصبح عليك أن تدخل ب SSH للخادم لإضافة نقاط دخول Cron. يسمح مجدول الأوامر في Laravel بتعريف جدول المهام داخل Laravel بطريقة سلسلة وواضحة. عند استخدام جدولة المهام، تحتاج لنقطة دخول Cron واحدة على الخادم. يُعرّف جدول المهام في التابع schedule من الملف app/Console/Kernel.php. لمساعدتك على البداية، يوجد مثال بسيط معرّف في التابع. ...

التعامل مع البريد الإلكتروني (Mail) في Laravel

 مقدمة يوفّر Laravel واجهة برمجية (API) سلسة و بسيطة للمكتبة الرائجة SwiftMailer مع برنامج تشغيل لكل من SMTP و Mailgun و SparkPost و Amazon SOS وتابع mail ، و sendmail. ممّا يسمح بالبداية في إرسال الرسائل الإكترونية بسرعة عبر خدمات محلية أو سحابية من اختيارك. برامج التشغيل اللازمة تكون برامج التشغيل المعتمدة على الوسائط مثل Mailgun و SparkPost في العادة أسرع وأسهل في الاستعمال من خوادم SMTP. استعمل أحد هذه برامج التشغيل إن أمكنك. تَستعمل كل المشغّلات التي تعتمد على ...

مقدمة إلى التعامل مع قواعد البيانات في Laravel

مقدمة يُبسّط Laravel التعامل مع قواعد البيانات بشكل كبير عبر مجموعة متنوعة من الأسندة الخلفية (backends) قواعد البيانات إمّا باستخدام  لغة الاستعلام البنيوية SQL خام أو باستخدام منشئ الاستعلامات الفصيح (fluent query builder)، أو باستخدام رابط الكائنات بالعلاقات Eloquent. يدعم Laravel حاليًا أربع قواعد بيانات: MySQL PostgreSQL SQLite SQL Server الضبط تقع إعدادات قاعدة بيانات تطبيقك في config/database.php. تستطيع في هذا الملف تعريف جميع اتصالات قاعدة بياناتك لإضافةً لتحديد الاتصال الافتراضي. تتوافر أمثلة عن معظم أنظمة قواعد البيانات المدعومة في ...

الصنف urllib.request.HTTPDigestAuthHandler في بايثون

يعالج هذا الصنف عملية الاستيثاق مع المضيف البعيد. البنية العامة urllib.request.HTTPDigestAuthHandler(password_mgr=None) المعاملات password_mgr معامل اختياري، ويجب أن تكون قيمته متوافقة مع الصنف HTTPPasswordMgr. راجع قسم كائنات HTTPPasswordMgr للاطلاع على معلومات مفصّلة حول الواجهة التي يجب أن تكون مدعومة. إذا أضيف معالجا Digest Authentication و Basic Authentication، فإنّ المعالج Digest Authentication سيُجرّب في البداية دائمًا، وإن أعاد هذا المعالج استجابة من نوع 40x مرة أخرى، فإنّه سيُرسل إلى معالج Basic Authentication. يُطلق هذا الصنف الاستثناء ValueError عند حصوله على مخطط استيثاق ...

بذر قواعد البيانات بالبيانات الاختبارية Seeding في Laravel

مقدمة يتضمّن Laravel تابع بسيط لملء قاعدة البيانات الخاصة بك مع بيانات للتجربة باستخدام أصناف البذر. ستجد جميع أصناف البذر في مجلّد database/seeds، وقد تحتوي أصناف البذر على أي اسم تريده، لكن ربما يجب عليك اتباع بعض المعايير المعقولة مثل UsersTableSeeder ...إلخ. وبشكل افتراضي، سيكون صنف DatabaseSeeder معرّف لك، ومن خلال هذا الصنف يمكنك استخدام أسلوب call لتشغيل بقيّة أصناف البذر، مما يسمح لك بالتحكم بترتيب البذر. كتابة منشئات البذور لتوليد منشئ البذرة (seeder)، نفّذ أمر make:seeder Artisan وستجد جميع ...

تزييف الأحداث لأغراض الاختبار Mocking في Laravel

مقدمة عند اختبار تطبيقات Laravel، قد تحتاج إلى "تقليد الأصل" لبعض جوانب تطبيقك، حتى لا يتم تنفيذها بشكل فعلي في اختباراتك. على سبيل المثال، عند اختبار متحكم ما يقوم بإرسال حدث، قد تحتاج إلى تقليد الأصل لمنصت الأحداث حتى لا تشغّل فعليًا أثناء الاختبار. يساعدك ذلك على اختبار رد المتحكم فقط دون الحاجة للقلق حيال تنفيذ منصتي الأحداث، نظرًا لكونها مستقلة في حالات اختباراتها. يزوّد Laravel بمجموعة من المساعدات لتقليد أصل الأحداث والأعمال ‎(Jobs)‎ والواجهات الساكنة ‎(Facades‎)‎. تزود هذه المساعدات ...

الموارد في رابط الكائنات بالعلاقات Eloquent

مقدمة عند بناء واجهات برمجة التطبيقات (المدعوة اختصاراً APIs)، قد تحتاج إلى طبقة تحويل تقع بين نماذج Eloquent وردود JSON المعادة فعليًّا إلى مستخدمي تطبيقك. تمكّنك الموارد في Laravel من تحويل النماذج بشكل فعال وسهل، بما يتضمن مجموعات النماذج. توليد الموارد لتوليد صنف مورد، يمكنك استخدام أمر artisan make:resource. افتراضيًّا، تقع الموارد في المجلد app/Http/Resources الخاص بتطبيقك. ترث الموارد من الصنف الأساسي Illuminate\Http\Resources\Json\JsonResource: php artisan make:resource User موارد المجموعات إضافةً إلى توليد موارد لتحويل النماذج الأحادية، يمكنك توليد موارد مسؤولة ...

التابع Module.to_s‎ في روبي

يعيد التابع to_s سلسلة نصية تمثل الوحدة أو الصنف الذي استدعي معه. بالنسبة للأصناف والوحدات الأساسية (basic)، سيُعاد الاسم. بالنسبة للأصناف أو الوحدات المُفردات (singletons)، تعاد أيضًا معلومات عن الأشياء التي ترتبط بهذه الوحدة أو الصنف. يملك هذا التابع اسمًا بديلًا هو inspect. البنية العامة to_s→ string‎ القيمة المعادة تعاد سلسلة نصية تمثل هذه الوحدة أو الصنف. انظر أيضا التابع singleton_class?‎: يتحقق إن كان الصنف الذي استدعي معه صنفا مفردًا (singleton class). مصادر قسم التابع to_s‎ في الصنف Module‎ في توثيق روبي ...

التابع date.weekday()‎ في بايثون

يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح. البنية العامة ‎date.weekday() القيمة المعادة يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 0 ويوم الأحد الرقم 6. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 26) >>> d.weekday() 1 انظر أيضًا التابع date.isoweekday()‎: يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 1 ويوم الأحد الرقم 7. مصادر قسم date Objects في صفحة ...

التابع date.today()‎ في بايثون

يعيد التابع تاريخ اليوم الحالي ضمن الإعدادات المحلية. البنية العامة ‎date.today() القيمة المعادة يعيد التابع تاريخ اليوم الحالي ضمن الإعدادات المحلية. أمثلة يبين المثال التالي القيمة المعادة من استخدام التابع: >>> from datetime import date >>> today = date.today() >>> print(today) 2018-06-25 انظر أيضًا التابع date.fromtimestamp()‎ : يعيد هذا التابع التاريخ المحلي المرتبط بالختم الزمني ذي الصيغة POSIX. التابع date.fromordinal()‎: يعيد هذا التابع التاريخ بحسب العدد الترتيبي المعطى والتابع للتقويم الكريكوري التنبؤي. مصادر قسم date Objects في صفحة Basic date and time types في توثيق ...

التابع datetime.datetime.weekday()‎ في بايثون

يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح. البنية العامة ‎datetime.weekday() القيمة المعادة يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 0 ويوم الأحد الرقم 6. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime >>> d = date(2018, 6, 26, 20, 47) >>> d.weekday() 1 انظر أيضًا التابع datetime.isoweekday()‎: يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 1 ويوم الأحد الرقم 7. مصادر قسم datetime Objects ...

التابع date.isoformat()‎ في بايثون

يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601. البنية العامة ‎date.isoformat() القيمة المعادة يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601 وهي 'YYYY-MM-DD'. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 27) >>> d.isoformat() '2018-06-27' انظر أيضًا التابع date.isocalendar()‎: يعيد التابع صفًّا يضمّ ثلاثة عناصر هي (ISO year, ISO week number, ISO weekday). التابع date.isoweekday()‎: يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 0 ويوم الأحد ...

التابع timedelta.total_seconds()‎ في بايثون

يعيد التابع عدد الثواني الكلّي في المدّة الزمنية التي يمثّلها كائن timedelta. البنية العامة ‎timedelta.total_seconds()‎ القيمة المعادة يعيد التابع عدد الثواني الكلّي في المدّة الزمنية التي يمثّلها كائن timedelta. يمكن الحصول على نفس نتيجة هذا التابع باستخدام التعبير td / timedelta(seconds=1)‎. ملاحظات 1- عندما تكون المدّة الزمنية التي يمثّلها كائن timedelta كبيرة جدًّا (أكثر من 270 سنة في معظم الأنظمة)، تظهر بعض الأخطاء على مستوى أجزاء من الثانية. 2- هذا التابع جديد في الإصدار 3.2 من اللغة. أمثلة يبين المثال ...

التابع time.__str__()‎ في بايثون

يتيح هذا التابع إعادة تمثيل للكائن time على هيئة سلسلة نصية قابلة للطباعة، باستخدام الدالة str()‎. البنية العامة ‎time.__str__() القيمة المعادة يعيد التابع تمثيلًا للكائن time على هيئة سلسلة نصية قابلة للطباعة، ولو فرضنا أنّ t هو كائن وقت، فإنّ str(t)‎ مكافئة للتابع t.isoformat()‎. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import time >>> t = time(19, 22, 48) >>> t.__str__() '19:22:48' >>> str(t) '19:22:48' >>> t.isoformat() '19:22:48' انظر أيضًا التابع time.isoformat()‎: يعيد التابع سلسلة نصية تمثّل الوقت بصيغة ISO 8601. التابعان strftime()‎ و ...

التابع datetime.datetime.toordinal()‎ في بايثون

يعيد التابع العدد الترتيبي للتاريخ الذي يمثّله كائن datetime حسب التقويم التنبّؤي الكريكوري. البنية العامة ‎datetime.toordinal() القيمة المعادة يعيد التابع العدد الترتيبي للتاريخ الذي يمثّله كائن datetime حسب التقويم التنبّؤي الكريكوري، حيث يحمل تاريخ الأول من كانون الثاني سنة 1 ميلادية العدد 1. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime >>> dt = datetime(2018, 6, 26, 11, 42, 10) >>> dt.toordinal() 736871 انظر أيضًا التابع Python/datetime/datetime/fromordinal‎: يعيد التابع كائن datetime الذي يتضمن التاريخ والوقت الموافقين للعدد الترتيبي في ...

التابع date.toordinal()‎ في بايثون

يعيد التابع العدد الترتيبي للتاريخ الذي يمثّله كائن التاريخ حسب التقويم التنبّؤي الكريكوري. البنية العامة ‎date.toordinal() القيمة المعادة يعيد التابع العدد الترتيبي للتاريخ الذي يمثّله كائن التاريخ حسب التقويم التنبّؤي الكريكوري، حيث يحمل تاريخ الأول من كانون الثاني سنة 1 ميلادية العدد 1. ولو فرضنا أن d هو كائن تاريخ، فإنّ ‎‎date.fromordinal(d.toordinal()) == d‎ أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 26) >>> d.toordinal() 736871 انظر أيضًا التابع date.fromordinal()‎: يعيد التابع التاريخ الموافق ...

التابع datetime.datetime.date()‎ في بايثون

يعيد التابع كائن date يتضمّن نفس السنة والشهر واليوم في كائن datetime. البنية العامة ‎datetime.date() القيمة المعادة يعيد التابع كائن date يتضمّن نفس السنة والشهر واليوم في كائن datetime. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime >>> dt = datetime(2018, 6, 7, 22, 45, 6) >>> dt.date() datetime.date(2018, 6, 7) انظر أيضًا التابع datetime.time()‎‎: يعيد كائن time يتضمّن نفس الساعة والدقيقة والثانية وأجزاء الثانية وfold في كائن datetime. التابع datetime.timetz()‎‎: يعيد كائن time يتضمّن نفس الساعة والدقيقة والثانية ...

التابع datetime.today()‎ في بايثون

يعيد التابع الوقت والتاريخ حسب التوقيت المحلّي، مع إعطاء المعامل tzinfo القيمة None. البنية العامة datetime.today() القيمة المعادة يعيد التابع الوقت والتاريخ حسب التوقيت المحلّي، مع إعطاء المعامل tzinfo القيمة None. هذا التابع يكافئ في عمله عمل التابع datetime.fromtimestamp(time.time())‎. أمثلة يبين المثال التالي القيمة المعادة من استخدام التابع: >>> from datetime import datetime >>> today = datetime.today() >>> print(today) 2018-07-05 17:45:50.451453 انظر أيضًا التابع datetime.fromtimestamp()‎ : يعيد هذا التابع التاريخ المحلي المرتبط بالختم الزمني ذي الصيغة POSIX. التابع datetime.fromordinal()‎: يعيد هذا التابع التاريخ والوقت بحسب ...

التابع date.__str__()‎ في بايثون

يتيح هذا التابع إعادة تمثيل للكائن date على هيئة سلسلة نصية قابلة للطباعة، باستخدام الدالة str()‎. البنية العامة ‎date.__str__() القيمة المعادة يعيد التابع تمثيلًا للكائن date على هيئة سلسلة نصية قابلة للطباعة، ولو فرضنا أنّ d هو كائن تاريخ، فإنّ str(d)‎ مكافئة للتابع d.isoformat()‎. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 27) >>> d.__str__() '2018-06-27' >>> str(d) '2018-06-27' >>> d.isoformat() '2018-06-27' انظر أيضًا التابع date.isoformat()‎: يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO 8601 هي 'YYYY-MM-DD'. التابعان ...

الخاصية text-overflow

الخاصية text-overflow في CSS تُحدِّد ماذا سيحدث عند عدم عرض المحتوى الزائد عن صندوقه، فيمكن أن يتم اقتصاص المحتوى، أو عرض ثلاث نقط (المحرف … رمزه U+2026)، أو عرض سلسلة نصية خاصة. بطاقة الخاصية القيمة الابتدائية clip تُطبَّق على الحاويات الكتلية (block container elements). قابلة للوراثة لا قابلة للحركة لا القيمة المحسوبة كما حُدِّدَت. /* الكلمات المحجوزة */ text-overflow: clip; text-overflow: ellipsis; /* <string> سلسلة نصية */ text-overflow: "…"; /* القيم العامة */ text-overflow: inherit; text-overflow: initial; text-overflow: unset; الخاصية text-overflow لا تؤدي إلى خروج المحتوى من صندوقه، ولجعل ...

التابع time.strftime()‎ في بايثون

ينسّق التابع الوقت باستخدام سلسلة التنسيق النصية المعطاة. البنية العامة ‎time.strftime(format) المعاملات format سلسلة التنسيق النصية التي يستخدمها التابع لتنسيق السلسلة النصية المعادة. راجع قسم (التابعان strftime()‎ و strptime()‎ ). القيمة المعادة يعيد التابع سلسلة نصية تمثّل الوقت، ويمكن التحكّم بطريقة التمثيل هذه باستخدام سلسلة تنسيق نصية. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import time >>> t = time(12, 10, 30) >>> t.strftime("%H:%M:%S") '12:10:30' انظر أيضًا التابعان strftime()‎ و strptime()‎ . التابع time.__format__()‎: يسمح هذا التابع بتعيين سلسلسة تنسيق ...

التابع datetime.tzname()‎ في بايثون

يحدّد التابع اسم المنطقة الزمنية لكائن datetime. البنية العامة ‎datetime.tzname() القيمة المعادة إن أخذ الكائن tzinfo القيمة None، فإنّ التابع يعيد القيمة ذاتها، وإلاّ فإنّه يعيد self.tzinfo.tzname(None)‎، ويطلق التابع استثناءً إن لم تُعِد العبارة السابقة القيمة None أو كائن سلسلة نصية. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime, tzinfo, timedelta >>> class GMT1(tzinfo): ... def tzname(self, dt): ... return "Europe/Prague" ... >>> dt ...

التابع date.ctime()‎ في بايثون

يعيد التابع سلسلة نصية تمثل التاريخ، وتتضمّن الاسم المختصر لكل من اليوم والشهر يتبعهما اليوم ثم الساعة والدقيقة والثانية ثم السنة. البنية العامة ‎date.ctime() القيمة المعادة يعيد التابع سلسلة نصية تمثل التاريخ. التعبير d.ctime()‎ مكافئ للتعبير time.ctime(time.mktime(d.timetuple()))‎ في المنصّات التي تكون فيها دالة ctime()‎ بلغة C (والتي يستدعيها التابع time.ctime()‎ ولا يستدعيها التابع date.ctime()‎) متوافقة مع معايير لغة C. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 27) >>> d.ctime() 'Wed Jun 27 00:00:00 ...

التابع time.__format__()‎ في بايثون

يسمح هذا التابع بتعيين سلسلسة تنسيق نصية لكائن الوقت باستخدام محارف سلاسل التنسيق النصية وعند استخدام التابع str.format()‎. البنية العامة ‎time.__format__(format) المعاملات format سلسلة التنسيق النصية التي يستخدمها التابع لتنسيق السلسلة النصية المعادة. راجع قسم (التابعان strftime()‎ و strptime()‎ ). القيمة المعادة يعيد التابع سلسلة نصية ذات تنسيق محدّد بواسطة موجّهات التنسيق الخاصة. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import time >>> t = time(17, 39, 14) >>> 'The {} is {:%H:%M}.'.format("time", t) 'The time is 17:39.' انظر أيضًا ...

الصنف ‎:required‎

الصنف الزائف ‎:required‎ في CSS (أي pseudo-class) يُمثِّل أيّة عناصر <input> أو <select> أو <textarea> التي ضُبِطَت الخاصية required عليها. input:required { border: 1px dashed red; } هذا الصنف الزائف مفيدٌ لتنسيق الحقول الضرورية لإرسال النموذج. ملاحظة: الصنف الزائف ‎:optional هو الصنف الذي يُطابِق الحقول الضرورية في النموذج. :required أمثلة راجع صفحة الصنف الزائف ‎:invalid للأمثلة. دعم المتصفحات الميزة Chrome Firefox Internet Explorer Opera Safari الدعم الأساسي 10.0 4.0 10 10.0 5.0 انظر أيضًا صفحة الصنف الزائف optional: الذي يُمثِّل أيّة عناصر <input> أو <select> أو <textarea> التي لم ...

التابع datetime.datetime.time()‎ في بايثون

يعيد التابع كائن time يتضمّن نفس الساعة والدقيقة والثانية وأجزاء الثانية وfold في كائن datetime. البنية العامة ‎‎datetime.time() القيمة المعادة يعيد التابع كائن time يتضمّن نفس الساعة والدقيقة والثانية وأجزاء الثانية وحالة التوقيت المحلي (fold) في كائن datetime. يُعيد التابِع أيضًا المُعامِل tzinfo بالقيمة None. أمثلة يُبيّن المثال التالي آلية عمل التابع: ‎‎‎>>> from datetime import datetime >>> dt = datetime(2018, 6, 7, 22, 45, 6) >>> dt.time() datetime.time(22, 45, 6) >>> type(dt.time().tzinfo) <class 'NoneType'> انظر أيضًا التابع datetime.date()‎‎: يعيد التابع كائن date يتضمّن نفس ...

التابع date.replace()‎ في بايثون

يستبدل التابع القيم المعطاة في المعاملات بالقيم الأصلية في كائن التاريخ. البنية العامة date.replace(year=self.year, month=self.month, day=self.day)‎ المعاملات يأخذ التابع ثلاث معاملات مفتاحية هي year و month و day (السنة والشهر واليوم). تحلّ القيمة المحدّدة لأيّ من هذه المعاملات محلّ القيمة المقابلة في كائن التاريخ. تأخذ هذه المعاملات قيمًا افتراضية تساوي القيم المحدّدة في كائن التاريخ. القيمة المعادة يعيد التابع كائن التاريخ بعد إجراء عملية الاستبدال المحدّدة بواسطة المعاملات. أمثلة يبين المثال التالية آلية عمل التابع: >>> from datetime import date >>> ...

التابع date.isoweekday()‎ في بايثون

يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، بالاعتماد على تقويم ISO. البنية العامة ‎date.isoweekday() القيمة المعادة يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 1 ويوم الأحد الرقم 7، وذلك بالاعتماد على تقويم ISO. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 26) >>> d.isoweekday() 2 انظر أيضًا التابع date.isocalendar()‎: يعيد التابع صفًّا يضمّ ثلاثة عناصر هي (ISO year, ISO week number, ISO weekday). التابع date.isoformat()‎: ...

التابع datetime.datetime.isoweekday()‎ في بايثون

يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، بالاعتماد على تقويم ISO. البنية العامة ‎datetime.isoweekday() القيمة المعادة يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم 1 ويوم الأحد الرقم 7، وذلك بالاعتماد على تقويم ISO. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime >>> dt = datetime(2018, 6, 26, 20, 50) >>> dt.isoweekday() 2 انظر أيضًا التابع datetime.datetime.isocalendar()‎: يعيد التابع صفًّا يضمّ ثلاثة عناصر هي (ISO year, ISO week number, ISO weekday). ...

التابع date.__format__()‎ في بايثون

يسمح هذا التابع بتعيين سلسلسة تنسيق نصية لكائن التاريخ باستخدام محارف سلاسل التنسيق النصية وعند استخدام التابع str.format()‎. البنية العامة ‎date.__format__(format) المعاملات format سلسلة التنسيق النصية التي يستخدمها التابع لتنسيق السلسلة النصية المعادة. راجع قسم (التابعان strftime()‎ و strptime()‎ ). القيمة المعادة يعيد التابع سلسلة نصية ذات تنسيق محدّد بواسطة موجّهات التنسيق الخاصة. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 27) >>> 'The {1} is {0:%d}, the {2} is {0:%B}.'.format(d, "day", "month") 'The ...

التابع date.__str__()‎ في بايثون

يتيح هذا التابع إعادة تمثيل للكائن datetime على هيئة سلسلة نصية قابلة للطباعة، باستخدام الدالة str()‎. البنية العامة ‎datetime.__str__() القيمة المعادة يعيد التابع تمثيلًا للكائن datetime على هيئة سلسلة نصية قابلة للطباعة، ولو فرضنا أنّ dt هو كائن تاريخ، فإنّ str(dt)‎ مكافئة للتابع dt.isoformat()‎. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime >>> dt = datetime(2018, 6, 27, 21, 1) >>> dt.__str__() '2018-06-27 21:01:00' >>> str(dt) '2018-06-27 21:01:00' >>> dt.isoformat() '2018-06-27T21:01:00' انظر أيضًا التابع datetime.isoformat()‎: يعيد التابع سلسلة نصية تمثّل التاريخ بصيغة ISO ...

الصنف ‎:optional‎

الصنف الزائف ‎:optional‎ في CSS (أي pseudo-class) يُمثِّل أيّة عناصر <input> أو <select> أو <textarea> التي لم تُضبَط الخاصية required عليها. input:optional { border: 1px dashed black; } هذا الصنف الزائف مفيدٌ لتنسيق الحقول التي ليست ضروريةً لإرسال النموذج. ملاحظة: الصنف الزائف ‎:required هو الصنف الذي يُطابِق الحقول الضرورية في النموذج. :optional أمثلة راجع صفحة الصنف الزائف ‎:invalid للأمثلة. دعم المتصفحات الميزة Chrome Firefox Internet Explorer Opera Safari الدعم الأساسي 10.0 4.0 10 10.0 5.0 انظر أيضًا صفحة الصنف الزائف required: الذي يُمثِّل ...

التابع datetime.datetime.timetz()‎ في بايثون

يعيد التابع كائن time يتضمّن نفس الساعة والدقيقة والثانية وأجزاء الثانية وfold وtzinfo في كائن datetime. البنية العامة datetime.timetz() القيمة المعادة يعيد التابع كائن time يتضمّن نفس الساعة والدقيقة والثانية وأجزاء الثانية وحالة التوقيت المحلي (fold) ومعلومات المنطقة الزمنيّة (tzinfo) في كائن datetime. أمثلة يُبيّن المثال التالي آلية عمل التابع: >>> from datetime import datetime >>> dt = datetime(2018, 6, 7, 22, 45, 6, 1, None) >>> dt.timetz() datetime.time(22, 45, 6, 1) >>> type(dt.timetz().tztinfo) <class 'NoneType'> انظر أيضًا التابع datetime.date()‎‎:يعيد التابع كائن date يتضمّن نفس ...

التابع date.strftime()‎ في بايثون

ينسّق التابع التاريخ باستخدام سلسلة التنسيق النصية المعطاة. البنية العامة ‎date.strftime(format) المعاملات format سلسلة التنسيق النصية التي يستخدمها التابع لتنسيق السلسلة النصية المعادة. راجع قسم (التابعان strftime()‎ و strptime()‎ ). القيمة المعادة يعيد التابع سلسلة نصية تمثّل الوقت، ويمكن التحكّم بطريقة التمثيل هذه باستخدام سلسلة تنسيق نصية. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import date >>> d = date(2018, 6, 27) >>> d.strftime("%d/%m/%y") '27/06/18' >>> d.strftime("%A %d. %B %Y") 'Wednesday 27. June 2018' انظر أيضًا التابعان strftime()‎ و strptime()‎ . التابع ...

السلسلة في رابط الكائنات بالعلاقات Eloquent

مقدمة عند بناء واجهات JSON APIs، تحتاج معظم الأوقات إلى تحويل نماذجك وعلاقاتها إلى مصفوفات أو كائنات JSON. يزود Eloquent بمجموعة من التوابع المساعدة لهذه التحويلات، إضافةً إلى التحكم بالحقول التي يجب تضمينها في التحويلات. سلسلة النماذج والمجموعات السلسلة لمصفوفات لتحويل نموذج وعلاقاته المحمّلة لمصفوفة، يمكنك استخدام التابع toArray. إن هذا التابع تعاودي، لذلك ستُحوّل كل الحقول وكل العلاقات (وعلاقات العلاقات) إلى مصفوفات: $user = App\User::with('roles')->first(); return $user->toArray(); يمكنك أيضًا تحويل مجموعة كاملة من النماذج إلى مصفوفة: $users = App\User::all(); return $users->toArray(); السلسلة ...

التابع datetime.datetime.isocalendar()‎ في بايثون

يعيد التابع صفًّا يضمّ ثلاثة عناصر هي (ISO year, ISO week number, ISO weekday). البنية العامة ‎datetime.isocalendar() القيمة المعادة يعيد التابع صفًّا يضمّ ثلاثة عناصر هي (ISO year, ISO week number, ISO weekday). وهي نفس القيمة المعادة من التابع self.date().isocalendar()‎‎. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime >>> dt = datetime(2018, 6, 26, 20, 55) >>> dt.isocalendar() (2018, 26, 2) انظر أيضًا التابع datetime.isoweekday()‎: يعيد التابع اليوم في الأسبوع على هيئة عدد صحيح، حيث يأخذ يوم الاثنين الرقم ...

التابع datetime.ctime()‎ في بايثون

يعيد التابع سلسلة نصية تمثل التاريخ والوقت، وتتضمّن الاسم المختصر لكل من اليوم والشهر يتبعهما اليوم ثم الساعة والدقيقة والثانية ثم السنة. البنية العامة ‎datetime.ctime() القيمة المعادة يعيد التابع سلسلة نصية تمثل التاريخ والوقت، مثل: datetime(2002, 12, 4, 20, 30, 40).ctime() == 'Wed Dec 4 20:30:40 2002' التعبير d.ctime()‎ مكافئ للتعبير time.ctime(time.mktime(d.timetuple()))‎ في المنصّات التي تكون فيها دالة ctime()‎ بلغة C (والتي يستدعيها التابع time.ctime()‎ ولا يستدعيها التابع datetime.ctime()‎) متوافقة مع معايير لغة C. أمثلة يبين المثال التالي آلية ...

التابع time.tzname()‎ في بايثون

يحدّد التابع اسم المنطقة الزمنية لكائن الوقت. البنية العامة ‎time.tzname() القيمة المعادة إن أخذ الكائن tzinfo القيمة None، فإنّ التابع يعيد القيمة ذاتها، وإلاّ فإنّه يعيد self.tzinfo.tzname(None)‎، ويطلق التابع استثناءً إن لم تُعِد العبارة السابقة القيمة None أو كائن timedelta بفارق زمني لا يتجاوز اليوم الواحد. ملاحظة: في الإصدار 3.7 من بايثون، لم يعد مقدار الإزاحة عن التوقيت العالمي المنسّق مقيّدًا بعدد صحيح من الدقائق. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import time, tzinfo, timedelta >>> class ...

التابع time.dst()‎ في بايثون

يتيح التابع القدرة على تحديد ما إذا كان التوقيت الصيفي مستخدمًا أم لا. البنية العامة ‎time.dst() القيمة المعادة إن أخذ الكائن tzinfo القيمة None، فإنّ التابع يعيد القيمة ذاتها، وإلاّ فإنّه يعيد self.tzinfo.dst(None)‎‎، ويطلق التابع استثناءً إن لم تُعِد العبارة السابقة القيمة None أو كائن timedelta بفارق زمني لا يتجاوز اليوم الواحد. ملاحظة: في الإصدار 3.7 من بايثون، لم يعد مقدار الإزاحة عن نظام التوقيت الصيفي مقيّدًا بعدد صحيح من الدقائق. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from ...

التابع datetime.dst()‎ في بايثون

يتيح التابع القدرة على تحديد ما إذا كان التوقيت الصيفي مستخدمًا أم لا. البنية العامة ‎datetime.dst() القيمة المعادة إن أخذ الكائن tzinfo القيمة None، فإنّ التابع يعيد القيمة ذاتها، وإلاّ فإنّه يعيد self.tzinfo.dst(None)‎‎، ويطلق التابع استثناءً إن لم تُعِد العبارة السابقة القيمة None أو كائن timedelta بفارق زمني لا يتجاوز اليوم الواحد. ملاحظة: في الإصدار 3.7 من بايثون، لم يعد مقدار الإزاحة عن نظام التوقيت الصيفي مقيّدًا بعدد صحيح من الدقائق. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from ...

التابع datetime.datetime.utcoffset()‎ في بايثون

يحدّد التابع مقدار إزاحة الوقت في كائن datetime عن التوقيت العالمي المنسّق. البنية العامة ‎datetime.utcoffset() القيمة المعادة إن أخذ الكائن tzinfo القيمة None، فإنّ التابع يعيد القيمة ذاتها، وإلاّ فإنّه يعيد self.tzinfo.utcoffset(None)‎، ويطلق التابع استثناءً إن لم تُعِد العبارة السابقة القيمة None أو كائن timedelta بفارق زمني لا يتجاوز اليوم الواحد. ملاحظة: في الإصدار 3.7 من بايثون، لم يعد مقدار الإزاحة عن التوقيت العالمي المنسّق مقيّدًا بعدد صحيح من الدقائق. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime ...

التابع time.replace()‎ في بايثون

يستبدل التابع القيم المعطاة في المعاملات بالقيم الأصلية في كائن الوقت. البنية العامة ‎time.replace(hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, * fold=0) المعاملات يأخذ التابع خمسة معاملات مفتاحية، هي hour و minute و second و microsecond (الساعة والدقيقة والثانية وجزء الثانية). تحلّ القيمة المحدّدة لأيّ من هذه المعاملات محلّ القيمة المقابلة في كائن الوقت. يمكن تعيين قيمة None للمعامل tzinfo لإنشاء كائن وقت بسيط باستخدام كائن وقت واعي، دون الحاجة إلى تحويل بيانات الوقت. ملاحظة: أضيف المعامل fold في الإصدار 3.6 من ...

الصنف date.fromisofromat()‎ في بايثون

يعيد التابع التاريخ الموافق لسلسلة التاريخ النصية والمنسّقة بالصيغة التي تنشأ من استخدام التابع date.isoformat()‎. البنية العامة ‎date.fromisoformat(date_string) المعاملات date_string سلسلة نصية تتضمّن التاريخ المطلوب تحويله إلى كائن date، وتتبع السلسلة النصية الصيغة YYYY-MM-DD. القيمة المعادة كائن date يكون التاريخ فيه موافقًا للتاريخ المعطى في السلسلة النصية date_string. تنبيه: لا يفسّر هذا التابع جميع سلاسل المعيار ISO 8601، بل الهدف منه هو أداء الوظيفة المعاكسة للتابع date.isoformat()‎. ملاحظة: هذا التابع جديد في الإصدار 3.7 من اللغة. أمثلة يبين المثال التالي ...

التابع datetime.datetime.__format__()‎ في بايثون

يسمح هذا التابع بتعيين سلسلسة تنسيق نصية لكائن datetime باستخدام محارف سلاسل التنسيق النصية وعند استخدام التابع str.format()‎. البنية العامة ‎datetime.__format__(format) المعاملات format سلسلة التنسيق النصية التي يستخدمها التابع لتنسيق السلسلة النصية المعادة. راجع قسم (التابعان strftime()‎ و strptime()‎ ). القيمة المعادة يعيد التابع سلسلة نصية ذات تنسيق محدّد بواسطة موجّهات التنسيق الخاصة. أمثلة يبين المثال التالي آلية عمل التابع: ‎>>> from datetime import datetime >>> d = datetime(2018, 6, 27, 23, 16, 39) >>> dt = datetime(2018, 6, 27, 23, 16, ...

عرض (100 السابقة | 100 التالية) (20 | 50 | 100 | 250 | 500).