Jump to content
php.lv forumi

php newbie

Reģistrētie lietotāji
  • Posts

    388
  • Joined

  • Last visited

Posts posted by php newbie

  1. 
    

    function getData()

    {

    var url = 'http://primera.e-sim.org/apiFights.html?battleId=9402&roundId=10';

     

    var response = UrlFetchApp.fetch(url);

     

    var result = JSON.parse(response);

     

    var ss = SpreadsheetApp.getActiveSpreadsheet();

    var sheet = ss.getSheets()[0];

     

    for (var i = 0; i < result.length; i++)

    {

    var row = i + 1;

    var rangeStr = "A" + row + ":J" + row;

    var range = sheet.getRange(rangeStr);

    range.setValues([[result.time, result.militaryUnit, result.damage, result.weapon, result.time, result.time, result.time, result.time, result.time, result.time]]);

    }

    }

  2. Tad šādā gadījumā vislabākais risinājums vienalga ir likt klāt url kaut ko:

     

    www.tavalapa.lv/user/{username}

     

    un tad droši varēsi veidot statiskās lapas un nebūs jāuztraucas ka kāds varētu aizņemt.

    pie šita laikam arī palikšu... tik interesanti kā šito citi dara. Visādi twitter, grooveshark, facebook.

     

    variants ir likt pārbaudes. 

    ja atrod tādu lietotāju, tad izmantojam users controllieri, ja neatrod, tad laižam tālāk uz page vai, kas tur tur tālāk seko. 

    šitais neatrisina problēmu

     

    lapa.com/[en/lv]/info - atvērs info lapu

    lapa.com/info - atvērs info useri

     

    en/lv/whatever rezervēti vārdi + username limits minimums 3-5 simboli. 

     

    Tu gan meklē problēmu ne tur, kur tā ir - uztaisi blacklisti ar lietotājiem aizliegtajiem vārdiem. http://blog.postbit.com/reserved-username-list.html https://gist.github.com/caseyohara/1453705 etc

    nu ja pie šitāda sīkuma negribas iesprinkst

  3. Teiksim man ir lapa kur katram lietotājam būs links: lapa.lv/lietotajs, bet ir arī tadas statiskas lapas kā lapa.lv/info. Un tad kāds izdomās izveidot lietotāju ar username 'info' un netiks klāt savai lapai.

    Kā labāk šito apiet? Negribas nekadus papildus parametrus likt urlī. Rezervēt visas lapas arī nevar.

     

  4. Teleriks nāk no .NET pasaules. Un visi, kas nāk no .NET pasaules pilnīgi nekaunīgi samaisa server-side ar client-side. Man pat bail iedomāties kā tam kokam pielikt kādu klienta puses eventu, piemēram, itemclick

     

    nu nezinu, man izskatās diezgan vienkārši un ērti. Par samaksu ir php wrapperis, bet es izmantoju Kendo UI Web kurš ir bezmaksas, bet jākodē servera pusi pašam

     

     

  5. lol... protams, ja jau speciālists saka... Parasti 95% speciālisti izskatās tā itkā viņiem pašiem vajadzētu speciālistu :D

    kas ir liels daudzums? man 2 pakas (~400g) aiziet lejā 10 sek. laikā (blenderis+ūdens), un beigās vēl čāpstināt gribas. Un tā jau ir gandrīz puse no olbaltumvielu daudzuma ko vajadzētu dienā priekš sprocmen. Parēja laikā apēd kādu gaļu, kādu olu, iedzer kādu piena spēku (vai prot. kokteili) un tā arī sporcmen norma savācās. 

     

    neesmu specialists, bet lasiju kā vairāk par ~40 gramiem proteīnu vienā reizē nevajadzētu ieņemt.

     

  6. es mēģinātu uztaisīt tabulu: 

    from  to  winHigh  winLow
    
    0     30  15       15
    31    60  14       16
    61    90  13       17
    ...
    

    kur from, to - intervāls, winHigh - punktu skaits ja vinnē stiprākais, winLow - ja vinnē vajākais

    starpību ņemtu ka absolūto vertību un ja + ņemtu winHight, ja - winLow kolonnu.

     

    vai nu

     

    from  to  win
    ...    
    -91   -60 17
    -61   -30 16      
    -31   0   15   
    0     30  15       
    31    60  14      
    61    90  13   
    ...
    
    

    un selektē pēc reitingu starpības



     

  7. es te ņemos ar kohanu: http://kohanaframework.org/3.2/guide/orm/validation#automatic-validation

    Bet tieši šāda izmantošana man nepatīk

    edit: Apskatijos kas ar zend..
     

        /**
         * Returns a URI based on current values of the instance variables. If any
         * part of the URI does not pass validation, then an exception is thrown.
         *
         * @throws Zend_Uri_Exception When one or more parts of the URI are invalid
         * @return string
         */
        public function getUri()
        {
            if ($this->valid() === false) {
                require_once 'Zend/Uri/Exception.php';
                throw new Zend_Uri_Exception('One or more parts of the URI are invalid');
            }
    
            $password = strlen($this->_password) > 0 ? ":$this->_password" : '';
            $auth     = strlen($this->_username) > 0 ? "$this->_username$password@" : '';
            $port     = strlen($this->_port) > 0 ? ":$this->_port" : '';
            $query    = strlen($this->_query) > 0 ? "?$this->_query" : '';
            $fragment = strlen($this->_fragment) > 0 ? "#$this->_fragment" : '';
    
            return $this->_scheme
                 . '://'
                 . $auth
                 . $this->_host
                 . $port
                 . $this->_path
                 . $query
                 . $fragment;
        }
    
  8. Labi Microsoft nav tas labākais piemērs. Ir redzēts ļoti slikts kods.

    Bet nu labi. MS koda piemēri(nav webs):

     

    protected void checkBeforePosting()
    {
        if (salesParmLine.RemainBefore     != (salesLine.RemainSalesFinancial + salesLine.RemainSalesPhysical)||
            salesLine.RemainInventPhysical != salesParmLine.RemainBeforeInventPhysical)
            throw error("@SYS23025");
    }
    

    tad arī kur to izsauc:

     

    
                // If the tax codes are to be verified, check if sales tax id and Item tax id
                // are defined per line.  If the ledger account requires a tax code, and tax code
                // is not provided, the posting will be stopped.
                if (taxParameters.ValidateTaxCode)
                {
                    postingLedgerTable = LedgerTable::find(
                        InventPosting::accountItem(InventAccountType::SalesRevenue,
                                salesLine.ItemId,
                                inventTable.ItemGroupId,
                                salesLine.CustAccount,
                                salesLine.CustGroup,
                                salesLine.TaxGroup ));
    
                    if (!this.tax().checkNoTax(postingLedgerTable,
                                                salesLine.TaxGroup,
                                                salesLine.TaxItemGroup))
                    {
                        throw error("@SYS21533");
                    }
                }
    
                this.checkBeforePosting();
    

    un tt.


     

  9. Ja sistēma ir tiešām ļoti liela un sarežģīta kur lielāka daļa funkciju ir black box. Loģika aiziet tik dziļi ka visu novalidēt nav reāli.

    Teiksim ja tas $account->decMoney() izsauc vēl 5 funkcijas katra no kurām izsauc vēl 1-5 funkcijas, katra no kurām izsauc vēl.... *we need to go deeper*.  

    Bet nu maziem projektiem es eksepšonus izmantotu tiešām kādu anomālu kļūdu izķeršanai. Teiksim db konekcija, vai kādas bibliotēkas koda izsaukumam.

  10. Ok kad sapratu ka skatos nepareizas versijas dokumentāciju tad laikam aizgāja, bet vienalga dokumentācija nav pilnīga.

    Visiem HTTP exceptioniep pārrakstam application\classes\HTTP\Exception.php

    <?php defined('SYSPATH') OR die('No direct script access.');
    
    class HTTP_Exception extends Kohana_HTTP_Exception {
     
        public function get_response()
        {
            // Lets log the Exception, Just in case it's important!
            Kohana_Exception::log($this);
     
            if (Kohana::$environment >= Kohana::DEVELOPMENT)
            {
                // Show the normal Kohana error page.
                return parent::get_response();
            }
            else
            {
                $view = View::factory('error/http');
     
                $response = Response::factory()
                    ->status($this->getCode())
                    ->body($view->render());
     
                return $response;
            }
        }
    }
    

     

    Visiem parējiem exceptioniem application\classes\Kohana\Exception.php:
     

     

    Vai nu visvienkāršakais variants pārrakstīt application\views\kohana\error.php

     

  11. taisu pēc tutoriala fiendly error pages: http://kohanaframework.org/3.2/guide/kohana/tutorials/error-pages

    extendoju Kohana_Exception klasi nokopejot kodu no tutoriala. Tur ir viena metode handle.
     

    testēju ar 2 kļūdam: Kohana_Exception un Kohana_HTTP_Exception (404).
     


    1. Tā metode vispār netiek izsaukta kad izmet tas kļūdas
    2. Kad izmet  Kohana_Exception, tiek izsaukts _handle 

    3. Kad izmet Kohana_HTTP_Exception netiek izsaukts ne handle, ne _handle.

    wtf? neko nesaprotu vispār.

    laikam būs vienkārši error view jāparraksta...

×
×
  • Create New...