PDA

Դիտել ողջ տարբերակը : Վեբ կայքերի ծրագրավորում Մոդուլային տարբերակով



norayrx
25.02.2009, 18:48
Վեբ կայքերի CMS -ների ծրագրավորում Մոդւլային տարբերակով , ինչ տարբերակներ կան

քնարկենք այս օրրնակը


//////////////////////////////////////////////////////////////////////////////////
/////////////// ֆունկցիաներ
function switch_language($language)
{
switch($language)
{
case "eng":
require("inc/languages/english.php");
break ;

case "arm":
require("inc/languages/armenian.php");
break ;

case "rus":
require("inc/languages/russian.php");
break ;
}
}


function charset($language)
{
switch ($language)
{
case "arm":
return "<META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=utf-8'>";
break;

case "rus":
return "<META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=Windows-1251'>";
break;

case "eng":
return "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>";
break;
}

}




function StripSpecalChars($str)
{
$chars=array(
1 => "`",
2 => "!",
3 => "@",
4 => "#",
5 => "\$",
6 => "%",
7 => "^",
8 => "&",
11 => ")",
12 => "-",
13 => "=",
14 => "/",
15 => ">",
16 => "<",
17 => "}",
18 => "{",
19 => "]",
20 => ",",
21 => "'",
22 => " ",
23 => ":",
24 => "\"",
25 => "\t");

foreach($chars as $key => $value)
{
$str=ereg_replace($value, "", $str);
}

return $str;
}

//////////////////////////////////////////////////////////////////////////////////////////////

//////////////main_head.php

////////այս ֆայլը հիմնական էջի շաբլոննե կանչում և աշխատացնում
//////////////իսկ կանչված մոդւլը տեղադրում է {CONTENT} - ում



/////////////////////index.php/////////////////////////////////////
session_start();
ob_start();

global $session, $tpl;

$_SESSION['sessionID'] = session_id();
$session = $_SESSION['sessionID'];


if(empty($_GET['lng']))
{
$language ="rus";
}

if(!empty($_GET['lng']))
{
$_SESSION['lang'] = $_GET['lng'];
$language = $_SESSION['lang'];
}

if(!empty($_SESSION['lang']))
{
$language = $_SESSION['lang'];
}


switch_language($language);

db_connect();

if(!empty($_REQUEST['action']))
{
$module = StripSpecalChars($_REQUEST['action']);
}else $module = "content";

if(is_file("./modules/".$module."/".$module.".php"))
{
include("./modules/".$module."/".$module.".php");
include("./modules/main/main_head.php");

}else {
include("modules/content/content.php");
include("modules/main/main_head.php");
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Արիացի
25.02.2009, 19:48
Վեբ կայքերի CMS -ների ծրագրավորում Մոդւլային տարբերակով , ինչ տարբերակներ կան

քնարկենք այս օրրնակը


//////////////////////////////////////////////////////////////////////////////////
/////////////// ֆունկցիաներ
function switch_language($language)
{
switch($language)
{
case "eng":
require("inc/languages/english.php");
break ;

case "arm":
require("inc/languages/armenian.php");
break ;

case "rus":
require("inc/languages/russian.php");
break ;
}
}


function charset($language)
{
switch ($language)
{
case "arm":
return "<META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=utf-8'>";
break;

case "rus":
return "<META HTTP-EQUIV='Content-Type' CONTENT='text/html; CHARSET=Windows-1251'>";
break;

case "eng":
return "<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>";
break;
}

}




function StripSpecalChars($str)
{
$chars=array(
1 => "`",
2 => "!",
3 => "@",
4 => "#",
5 => "\$",
6 => "%",
7 => "^",
8 => "&",
11 => ")",
12 => "-",
13 => "=",
14 => "/",
15 => ">",
16 => "<",
17 => "}",
18 => "{",
19 => "]",
20 => ",",
21 => "'",
22 => " ",
23 => ":",
24 => "\"",
25 => "\t");

foreach($chars as $key => $value)
{
$str=ereg_replace($value, "", $str);
}

return $str;
}

//////////////////////////////////////////////////////////////////////////////////////////////

//////////////main_head.php

////////այս ֆայլը հիմնական էջի շաբլոննե կանչում և աշխատացնում
//////////////իսկ կանչված մոդւլը տեղադրում է {CONTENT} - ում



/////////////////////index.php/////////////////////////////////////
session_start();
ob_start();

global $session, $tpl;

$_SESSION['sessionID'] = session_id();
$session = $_SESSION['sessionID'];


if(empty($_GET['lng']))
{
$language ="rus";
}

if(!empty($_GET['lng']))
{
$_SESSION['lang'] = $_GET['lng'];
$language = $_SESSION['lang'];
}

if(!empty($_SESSION['lang']))
{
$language = $_SESSION['lang'];
}


switch_language($language);

db_connect();

if(!empty($_REQUEST['action']))
{
$module = StripSpecalChars($_REQUEST['action']);
}else $module = "content";

if(is_file("./modules/".$module."/".$module.".php"))
{
include("./modules/".$module."/".$module.".php");
include("./modules/main/main_head.php");

}else {
include("modules/content/content.php");
include("modules/main/main_head.php");
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Բայց ես օրինակը շատ փոքր է: Ճիշտ ա շատ ուշադիր չեմ նայել, բայց էսքան կոդով հաստատ CMS չի ստեղծվի: Ընդհանուր ասեմ, որ լավ կլինի օգտվել OOPHP-ի հնարավորություններից: Էս վերջերս շատ եմ կիրառում իմ կոդերի մեջ ու ասեմ շատ լավ բանա: Կոդը լավ իմաստալի ու հասկանալի ա դառնում: Հետագա փոփոխություններն էլ կատարվում են հեշտությամբ:

Xelgen
26.02.2009, 01:57
Ճիշտն ասած չհասկացա, ինչն եք ուզում քննարկել, և բերված կոդը ինչ կապ ունի ՑՄՍ-ը մոդուլային սկբունքով գրելուն։
Մոդուլ ասելով կոնկրեն ի՞նչ ինկատի ունեք։

Ես անձամբ աշխատում եմ MVC մոտեցումով։

Universe
05.07.2012, 16:28
function switch_language($language)
{
switch($language)
{
case "eng":
require("inc/languages/english.php");
break ;

case "arm":
require("inc/languages/armenian.php");
break ;

case "rus":
require("inc/languages/russian.php");
break ;
}
}

ամենակուճիր տարբերակն է: