Jump to content
php.lv forumi

jurchiks

Reģistrētie lietotāji
  • Posts

    1,649
  • Joined

  • Last visited

Posts posted by jurchiks

  1. Fleksibls viņš ir, bet ja vajag kaut ko sarežģītāku, tad tā fleksibilitāte prasa dahuja koda.

    Trailing slash ir pavisam normāla lieta.

     

    Tā triviālā lieta, izrādās, ir undocumented fucking corner case, tā kā vari nedirst, ka es viņu salaboju tā, kā mācēju. Rezultāts ir pietiekami elegants un vienkāršs.

  2. @F3llony - symfony 3 defaultā parameters.yml ietilpst .gitignore sarakstā: https://github.com/symfony/symfony-standard/blob/master/.gitignore#L1

    Un vēl:

    app:
        resource: "@AppBundle/Controller/"
        type:     annotation
    
    class DefaultController extends Controller
    {
        /**
         * @Route("/{_locale}/", name="home", defaults={"_locale"="en"}, requirements={"_locale"="en|ru|lv"})
         */
        public function indexAction()
        {
            return $this->render('default/index.html.twig');
        }
    }
    
    
    php bin/console debug:router
    -------------------------- -------- -------- ------ -----------------------------------
      Name                       Method   Scheme   Host   Path
     -------------------------- -------- -------- ------ -----------------------------------
      _wdt                       ANY      ANY      ANY    /_wdt/{token}
      _profiler_home             ANY      ANY      ANY    /_profiler/
      _profiler_search           ANY      ANY      ANY    /_profiler/search
      _profiler_search_bar       ANY      ANY      ANY    /_profiler/search_bar
      _profiler_info             ANY      ANY      ANY    /_profiler/info/{about}
      _profiler_phpinfo          ANY      ANY      ANY    /_profiler/phpinfo
      _profiler_search_results   ANY      ANY      ANY    /_profiler/{token}/search/results
      _profiler                  ANY      ANY      ANY    /_profiler/{token}
      _profiler_router           ANY      ANY      ANY    /_profiler/{token}/router
      _profiler_exception        ANY      ANY      ANY    /_profiler/{token}/exception
      _profiler_exception_css    ANY      ANY      ANY    /_profiler/{token}/exception.css
      _twig_error_test           ANY      ANY      ANY    /_error/{code}.{_format}
      home                       ANY      ANY      ANY    /{_locale}/
     -------------------------- -------- -------- ------ -----------------------------------
    
    php bin/console server:run
    
    http://127.0.0.1:8000/ -> No route found for "GET /"
    404 Not Found - NotFoundHttpException
    Nav man līkas rokas.

    Un ignorē uz doto brīdi anotācijas, tas nav svarīgi, svarīgi ir pats fakts, ka norādot default _locale, tas vienalga ir obligāts.

     

    Es pieļauju, ka Symfony developeri kaut ko ir sačakarējuši, gadās.

  3. A vot nestrādā tas defaults, mēģināju. Varbūt vēlreiz pamēģināšu, moš kārtējais cache gļuks, bet nu hz.

     

    Nu, PHP anotācijas nav tas pats, kas Java anotācijas, bet tā, kā ar Java anotācijām esmu pazīstams un Symfony 3 defaultā uzliktas anotācijas, tad tās arī izmantoju. Ērtāk tomēr.

  4. Nez, pēdējo nedēļu ar kapeikām esmu bik pastrādājis ar Symfony, un jau esmu saskāries ar vairākām problēmām, kuras salabot prasa daudz par daudz koda. Piemēram, viselementārākā štelle - optional _locale prefix visiem URL - tāds gemorojs. Symfony v2 it kā šo esot bijis iespējams uztaisīt ar 2 route prefixiem, vienu /, otru - /{_locale}, bet symfony 3 tā vairs nevar, jo tur rūteris glabā routes masīvā, kur key = Route name. Attiecīgi tā, kā routes, lai arī ielādētas caur diviem prefixiem, tomēr ir ar vienādu nosaukumu, tad _locale-prefixed routes aizvieto bez-prefixa routes (vai arī otrādāk, atkarībā no tā, kādā secībā routing configā definēti prefixi).

     

    Workaroundu par glītu kodu nosaukt nevar - ciklē cauri visiem routes, klonē katru route, pieliec _locale prefixu un nosaukumam postfixu _lang, tad pievieno tam pašam rūterim. Rezultātā ir my_route = /, my_route_lang = /{_locale}. Attiecīgi, lai varētu uzģenerēt linku uz šiem routes, vajadzīgs papildus kods.

     

    Labāks risinājums būtu uztaisīt kaut kādu @LocalizedRoute anotāciju ar pārsvarā identiskiem parametriem, izņemot _locale default un requirements definēti kaut kur konfigā, lai nav katrā anotācijā jākopē viens un tas pats.

  5. Gee, thanks! :D

     

    @Kasspars - tāds fakts, ka kaut kāds freimworks/cms/library ir uzinstalēts vairākos miljonos instanču, pats par sevi neko neizsaka par tā kvalitāti vai izmaksām.

     

    WP ir tik izplatīts tikai tāpēc, ka tā end-useriem tas šķiet samērā ērts un alternatīvas līdz neseniem laikiem bija diezgan maz un nepopulāras (pēdējā laikā ir saradušās daudz alternatīvas, un es absolūti nešaubos, ka daudzas no tām ir entās reizes labākas par WP). Daudzi cilvēki stulbi izvēlas populārāko un alternatīvas pat neapskata.

     

    @codez - pirmkārt, tas nebija apgalvojums, tas bija subjektīvs viedoklis, bet tev jau patīk strīdēties par viedokļiem... Otrkārt, tie multimiljonu biznesi nenopelnīja naudu ar Wordpress, bet gan ar tajā ielikto saturu; WP bija tikai mēdijs. Treškārt, tu nevari pierādīt, ka izvēloties kādu alternatīvu CMS, viņi tos miljonus nebūtu nopelnījuši. Es pat uzdrošinos apgalvot, ka, ņemot vērā WP slikto performanci vecākās versijās, viņi visticamāk iztērēja kaudzi naudas, lai izspiestu no WP maksimumu, kas, iespējams, izvēloties citu CMS, nebūtu bijis nepieciešams.

×
×
  • Create New...