و عليكم السلام ورحمة الله وبركاته
- أخي لا تشتت نفس ، حدد هدفك أولاً إن كنت تريد أن تواصل في تطوير موقع و تطبيقات الويب أم لديك أهداف أخرى مثل تطوير تطبيقات تعمل على سطح المكتب ...
- PHP في نفسها لغة مطورة لكي تعالج طلبات المستخدمين لصفحات المواقع ، وقد تطورت في الفترة السابقة أكثر فإن كنت تريد الويب ولا شئ غيره حالياً فواصل في PHP فهي تكفيك .
- Javascript لغة عابرة للمنصات وذلك لأنها تعمل على المتصفحات و بيئات أخرى مما مكنها للعمل في أجهزة الحاسب و الهواتف الجوالة و حتى على بيئة الخادم بإستخدام NodeJS ، حتى أن هناك من وفر واجهة برمجية لبرمجة "متحكمات" Microcontroller ، و هناك من جهز لها بيئات لتعمل كتطبيق سطح مكتب بإستخدام تقنية مثل Electron و بالتأكيد تعمل على الهاتف بتقنيات مثل Cordova .
أولاً راجع أساسيات لغة php ، و أنصحك بالدورة المجانية التالية :
php for beginners
ثم إن أتقنت إستخدام php بصورة أفضل يمكنك فهم ماهية الـ OOP بصورة عملية في الدورة التالية :
object oriented bootcamp in php
ثم إن أردت أن تتقدم أكثر فأنصحك بـ Laravel ولكن بعد عمل عدة مشاريع متنوعة بدون أطار عمل
توجد طريقتين :
- إما أن تنفذ الامر مباشرة على الـ callback كما فعلت في document.write .
- أو تنادي دالة أخرى و توفر لها المتغير كمعامل ، كمثال
var markdown = require('markdown').markdown;
var Datastore = require('nedb')
db = new Datastore('db/db.nedb');
db.loadDatabase();
db.find({ name: 'usama' }, function (err, docs) {
renderResults(docs); // هنا إستخراج عملية الرسم لدالة أخرى
});
function renderResults (docs) {
document.write(docs); // و هنا تنفيذ الامر
}
و السبب في الامرين أن عملية جلب البيانات من قاعدة البيانات nedb "غير متزامنة" مثل الـ Ajax و بالتالي لا يمكنك الاستفادة من البيانات إلا داخل هذه الدالة المسترجعة .