Feeds:
Posts
Comments

I decided to learn PHP, and I thought one interesting way to learn it would be to build a mini MVC framework. I won’t go into details but here are the files :)

General lines:

index.php is the router file where all requests go to first, the controller,action -if any- and id-if any- are extracted and the proper action is taken, routing all requests to index.php is made via .htaccess file.

The model file is just a little abstraction, not a lot of functions.

Each model file must extend Model.php and each controller file must extend Controller.PHP, all models reside in the directory “models”, all controllers reside in the directory “controllers”

For each controller, there is a directory with the controller name under “views” directory, each view for each action is a php file in this directory.

There are some conventions I followed in this work: views files location, etc.. I won’t go into details as they can be inferred from the code. ( Tip: The controller and Model superclasses are in ‘lib’ directory)

I tried to build a mini site using this MVC framework, but so far I only built the login,logout and register- so you will find a lot of unused files- :) anyway they are quite enough to illustrate the framework idea.

https://github.com/loaighoraba/workspace/tree/master/PHP/mysite

سافرت إلى ألمانيا أربع مرات، قضيت ثلاث أسابيع في كل من المرتين الأولتين، و 6 أشهر في المرة الثالثة وأنا اﻵن في  المرة الرابعة. بداية انبهرت هناك بنظام الحياة الدقيق و المنظم، و أن كل ذي حق يأخذ حقه و نحو هذا، ولكن شيئا فشيئا يدرك المرء الحقيقة: أن حرص هؤلاء القوم على الحقوق و العدل، ليس حبا خالصا لهذه القيم أو عملا من أجلها، بل حرصا على الدنيا و تقاتلا عليها، و إفناء للعمر في سبيلها، في حياة مادية لا تطاق، لا تستطيع أن تطمع منهم في رحمة. فقوم لا تسيطر عليهم حقيقة أنه يوجد إله مطلع سميع بصير، و أنه هناك بعد الموت يوم يحاسب فيه الناس، و أن الأعمال الصالحة تثقل ميزانك يومها، و أن الفوز الحقيقي هو الجنة، قوم كهؤلاء لا يستطيع المرء أن يعيش معهم. حياة مادية يعمل المرء فيها كطاحونة في جو من السعار للدنيا، لا تجد قيم العطاء و الكرم و مكارم الأخلاق.. لا يفهمون معنى أن تداين الناس و لا تكسب من وراء إقراضك لهم. فهو لن يعود عليه شيئا إن أقرضك ثم عاد له المبلغ الذي أقرضه كما هو بدون زيادة. لا تجد للعفو عندهم معنى، و لا أن تكظم غيظك و أنت قادر على إنفاذه، لا معنى للدفع بالتي هي أحسن، و لا أن تتجاوز عن السيئة. لا حياة روحية هناك، يكبر الأب و الأم و يذهب بهم أبناؤهم إلى دور رعاية المسنين بدلا أن يُسكِنوهما معهم. مجتمع “بلاستيك” بلا سعادة على الإطلاق، يحاولون الحصول عليها في ملذاتهم الدنيوية كالخمر و النساء. لا يعون قوله تعالى :”المال والبنون زينة الحياة الدنيا والباقيات الصالحات خير عند ربك ثوابا وخير أملا” ، ” ادفع بالتي هي أحسن”، ” فمن عفا و أصلح فأجره على الله”. أذكر أنني جلست ذات مرة أنا و اثنين من زملائي مع دكتور في الجامعة الألمانية على مائدة عشاء في مصر-فرض هو نفسه علينا- و أخذ الرجل يتكلم عن انبهاره بالحياة في مصر، و الجو المشحون بالعواطف و الإنسانية، و أخذ يشكو الحياة في ألمانيا بماديتها و انعدام الروح فيها. لم أكن قد سافرت إلى ألمانيا وقتها فلم أستطع أن أتفهم كلامه تماما، ولكن بعد أن سافرت هناك أدركت صدق الرجل.

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

 

و قد وجدت أن الشهيد -بإذن الله- سيد قطب قد عبر ما أردت قوله في بيان لغوي رائع كعادته، فنقتبس صفحات من كتابه “نحو مجتمع إسلامي” :

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

إنهم ينتجون كثيراً . ما في ذلك شك . إنهم يكسبون كثيراً ما في هذا شك أيضاً ولكن لمن ينتجون ولمن يكسبون ؟ لذات الكسب ولذات الانتاج ؛ العنصر الإنساني لا وجود له ، تأمل ذلك الكسب وذلك الانتاج الاحساس بدوافعه ونتائجه في يقظة فكر وحساسية قلب ، تذوقه بحس الإنسان المتميز عن حس الآلة . . كل ذلك لا تلمحه في سيما وجه ولا في تعبير لسان !

إنها الطاحونة الدائرة ليل نهار : تطحن ، وتبعثر ما تطحنه . وتجمعه مرة أخرى لتطحنه من جديد ! والناس والأشياء والزمان والمكان . . كلها تدور في تلك الطاحونة الدائرة التي لا تكل ولا تمل ، ولا تكف لحظة عن الدوران . .

إنه الدوار ! ! !

هدوء القلب . اطمئنان النفس . راحة الضمير . لذة الفرح اليقظ بثمرات الجهد والارتياح . المودات الحلوة بين الناس التجاوب الروحي بين الاصدقاء . الاهتمامات الناشئة عن الوشائج الوثيقة في الاسرة تلك المشاعر التي تشعر الفرد أنه ليس وحده . وتمنحه الثقة والطمأنينة والراحة بعد الجهد والكد والعناء العقيدة في قوة أكبر من قوة الأرض ، تلك العقيدة التي تشعر الفرد أنه ليس ذرة تائهة في هذا الكون العريض بلا أصل ولا قرار . . كل هذا لا وجود له في قاموس الحياة الأمريكية ، ولا في محيط النفس الأمريكية .

إنه الخواء ! ! !

الخواء على الرغم مما يبدو من زحمة في الحياة وامتلاء .

هنالك مرح كثير ، يخيل إلى من لا يعرف أنه سعادة . . . تلك الضحكات التي ترن في الهواء . تلك ” المهارشات ” التي تتحسس مساقط اللذة في الأجساد . تلك الكؤوس التي لا تفرغ من الخمر ، تلك الضجة التي لا تهدأ ولا تسكن . . ولكنه المرح الحيواني لا السعادة ، ولا الفرح ، إذ عربدة السكارى ليست سعادة ، كذلك المرح الحيواني ليس فرحاً ، إنه انطلاق الطاقة المكبوته تحت ضغط العمل المرهق . إنها قرقعة كقرقعة الآلات لتفريغ البخار . . .

ولكن أين الإنسان ؟ في كل هذا الركام ؟ أين الإنسان المتميز عن الآلة وعن الحيوان ؟ ولست اتصور من وراء الفلسفة المادية في روسيا إلا حياة أحط من تلك الحياة . فحتى ذلك المرح الحيواني الناشيء من الطلاقة والثراء في امريكا لا أتصوره هناك ؛ وفي هذا الدرك تستقر البشرية اليوم في الشرق وفي الغرب سواء .

إن البشرية كلها في حاجة الينا : في حاجة إلى عقيدة في الضمير ، يستروح في ظلها من هذا الهجير القائظ . ويطمئن في رحابها من ذلك القلق ، ويستقر في حضنها إلى قرار”.

و ختاما: اللهم اجعلنا هداة للإنسانية في بحثها عن حقيقة الحياة و الإنسان، و أن نخرجها من حيرتها و تخبطها إلى نور الإسلام و دفء الإيمان. اللهم آمين.

In some task today I had to use zigzag scanning on a grid rather than normal traversal , this is an illustration of this kind of scanning.

I thought of sharing the code I wrote so that anyone can use this ready-made one..I don’t claim it is the best nor the most elegant :)

C++ source code :


/**
 * traverses m*n grid in zigzag order
 */
void traverseZigZag(int m, int n) {

	int i = 0, j = 0, up=1;
	bool turned = false;
	int d[2][2] = { { 1, -1 }, { -1, 1 } };
	int corner[2][4] = { { 1, 0, 0, 1 }, { 0, 1, 1, 0 } };
	while (i < m && j < n) {
		//here you have your (i,j), do what you want with them.
        printf("%d %d\n",i,j);
		if (i == 0 || j == 0 || i == m - 1 || j == n - 1) {
			if (!turned) {
				int k = 2 * (up * (j / (n - 1)) | (1 - up) * (i / (m - 1)));
				i += corner[up][k];
				j += corner[up][k + 1];
				turned = true;
				up = 1 - up;
				continue;
			} else
				turned = false;
		}
		i += d[up][0];
		j += d[up][1];
	}
}
Follow

Get every new post delivered to your Inbox.

Join 234 other followers