Zend Creat Per Socruithe Leagan Amach Modúl - Lean Suas
Mar a leanúint suas go dtí mo phost roimhe seo ar aghaidh an leagan amach socruithe atá bunaithe ar an modúl do Chreat Zend , tá mé suas chun dáta ar an cód a cheangal ar chumraíocht níos lú ansin roimh an (nach bhfuil sé ag teastáil níos mó ná cúpla líne i do bhfeidhm cumraíochta!).
Arís dhéanaimid úsáid Cheannasaí Zend Helper Gníomhaíochta trí leas a bhaint as an bootstrap mar seo a leanas:
/ **
* Socraigh suas le scripteanna a leagan amach ar bhonn per-mhodúl
* /
_initLayoutHelper feidhm chosanta ()
{
$ Seo>-bootstrap ('frontController');
$ Leagan amach = Zend_Controller_Action_HelperBroker:: addHelper (
nua Pro_Controller_Action_Helper_SetLayoutPath (APPLICATION_PATH));
}
Beagnach díreach mar an gcéanna ach amháin roimh an am seo pas againn ar an APPLICATION_PATH leanúnach isteach sa constructor mar ár cosán bonn.
Next an cúntóir gníomh rialtóir Breathnaíonn féin anois mar seo a leanas:
/ ** * Socraigh an cosán a leagan amach ar bhonn per-mhodúl * * @ T-údar Lloyd Watkin * @ Ó 16/02/2010 * @ Pacáiste Pro * @ Subpackage Controller_Action_Helper * / / ** * Socraigh an cosán a leagan amach ar bhonn per-mhodúl * * @ T-údar Lloyd Watkin * @ Ó 16/02/2010 * @ Pacáiste Pro * @ Subpackage Controller_Action_Helper * / Pro_Controller_Action_Helper_SetLayoutPath rang Síneann Zend_Controller_Action_Helper_Abstract { / ** * Bonn cosán * * @ Teaghrán var * / cosanta $ _path; / ** * Tógáil * * @ Param teaghrán $ conair * / feidhm phoiblí __construct ($ cosán) { setBasePath $ seo>-($ cosán); } / ** * Cosán bonn Set * * @ Param teaghrán $ conair * / setBasePath feidhm phoiblí ($ cosán) { más rud é (is_string ($ cosán) |! | folamh ($ cosán)) { caith Eisceacht nua ('teaghrán Eiscthe le haghaidh cosán bonn'); } $ Seo>-_path = $ cosán; } / ** * Get the cosán bonn * teaghrán * ais @ * / _getBasePath feidhm chosanta () { más rud é (is_null ($ seo>-_path)) { más rud é (! sainmhínithe ('APPLICATION_PATH')) { caith Eisceacht nua ('ní féidir Base cosán a chinneadh'); } $ Seo>-_path = APPLICATION_PATH; } ar ais _path $ seo>-; } / ** * Cosán leagan amach Seiteanna atá bunaithe ar an modúl * / preDispatch feidhm phoiblí () { $ Modúl = preg_replace ( '/ [^ AZ] / i','', $ seo>-getRequest () -> getModuleName () ); más rud é (= bootstrap $ $ seo getActionController>-() -> GetInvokeArg ('bootstrap')) { $ Dearcadh = getResource $ bootstrap-> ('amharc'); $ LayoutPath = $ seo _getBasePath>-(). "/ Modúil / {$ modúl} / leagan amach / scripteanna /"; / Ann * Má tá eolaire leagan amach i bhfeidhm ina dhiaidh sin é, a mhalairt a thagann díreach * Ar ais ar an réamhshocraithe * / más rud é (is_dir ($ layoutPath)) { getActionController $ seo>-() -> GetHelper ('leagan') - SetLayoutPath> ($ layoutPath); $ Amharc-> headLink () -> appendStylesheet ( "/ Stíleanna / {$ modúl} / style.css" ); } } } }
Tabhair faoi deara an cosán a rith ár mbonn (cf. APPLICATION_PATH) sa constructor, ní mór dúinn freisin getter agus setter don chonair bonn. Murab ionann agus an leagan roimhe sin de chód más rud é nach bhfuil an cosán a leagan amach ann ansin beidh an cód a thagann ar ais an cosán leagan amach réamhshocraithe. Mura bhfuil an cosán bonn atá leagtha déanfaidh sé iarracht a chinneadh an cosán bonn ón APPLICATION_PATH tairiseach, ar shlí eile é eisceacht thrown. Tá mé chomh maith thrown cheekily i bileog stíle modúl-bhunaithe le haghaidh dea-bheart
Tá an leagan amach atá bunaithe ar chinneadh ón modúl an bhfuil an cosán script leagan amach (ar ndóigh is féidir an modh seo a athrú go héasca). Seo a dhéanann add a forchostais beag ó thus application.ini (leagan amach ann, áfach, más rud é go cosán an PHP taisce an toradh a bheidh ar fheidhmíocht *) ach mar chúiteamh leat a fháil ar an áise breise níos éasca in iúl i modúil nua.
Sin é, ní éagsúla i bhfad, ach ní gá duit a chur ar iontráil cumraíocht nua gach uair is mian leat a chur ar modúl nua:)
* A soiléir taisce seo (más gá) a úsáid clearstatcache feidhm.


















































Dia duit, le do thoil inis dom nuair a chruthú Pro_Controller_Action_Helper_SetLayoutPath rang a bhfuil a ainm comhaid
I'm newbie i Zend.
go raibh maith agat
Dia duit Behrang, a chruthú ar an cúntóir gníomh le cibé ainm is mian leat, tá mé féin mo 'leabharlann' le ainmspás 'Pro'. D'fhéadfadh tú díreach mar glaoch go héasca ar an rang 'SetLayoutPath' agus é a chur mar a bhforáiltear a bhí riamh is mian leat, is féidir an cód a aimsiú agus a leathnú tú na ranganna ag teastáil