Den store Dokument bog

Kapitel • iOffice

Med start den 2. januar 1998 har iOffice leveret mange forskellige artede løsninger. I starten var det udelukkende it tekniske løsninger som NT, Novell servere, netværk og pc'er. Senere blev det også Linux servere og efterfølgende php udvikling på disse linux servere. I dag er det udelukkende udvikling af webbaseret applikationer.

Kapitel • iOffice Service

iOffice tilbyder api service via vores API.

Følgende offentlige er tilgængelig nu.


/whoami

Kontakt os med deres ønske. Vi importer også gerne data og ligger klar på api og evt. giver dig besked med en trigger.

Kapitel • Come & GoGo

Come & GoGo er et time registerings system med mange muligheder og som p.t. er under udvikling og hermed ikke færdigudviklet.

Grundliggende funktioner som medarbejder stemple ind og ud, oversigter pr medarbejder, pr relevante perioder. Medarbejder kan også inddeles efter afdelinger med tilhørende oversigter. Envidere kan man oprette projekter og til- og afmelding på disse. Projekter som fx kan være ordre direkte importeret fra andre systemer, salgssystem eller økonomisystem men selvfølgelig også manuelt opretter projekter. Så man får tidsforbrug pr projet med også.

Oprettelse af medarbejder

Oprettelse af en medarbejder er ganske simple.

Oprettelse af afdelinger

Oprettelse af en afdeling er ganske simple.

Kapitel • PHP

PHP er et objekt-orienteret server-side programmeringssprog anvendt til udvikling af dynamiske webapplikationer og websteder. Sproget blev grundlagt af Rasmus Lerdorf og udgivet første gang den 8. juni 1995. Projektet er open source, hvilket basalt set betyder, at alle har adgang til den underliggende kildekode, der er skrevet i programmeringssproget C. "PHP" er et rekursivt akronym for "PHP: Hypertext Preprocessor", men stod tidligere for "Personal Home Page Tools".

PHP startede som et lille, simpelt CGI-script i Perl, der skulle bruges til at overvåge trafikken på Rasmus Lerdorfs personlige hjemmeside. Det var på dette tidspunkt aldrig intentionen, at sproget skulle nå ud over hans egen private server. Da Perl-scriptet var for langsomt til at løse sin opgave, blev den omskrevet til C. Andre personer der brugte samme server opdagede Rasmus' CGI-wrapper, og spurgte om de kunne bruge den på deres respektive projekter. Ikke lang tid gik der, før der opstod efterspørgsel på mere funktionalitet. Som følge af efterspørgslen samlede Lerdorf en – efter eget udsagn halvfærdig – distribution med dokumentation, mailing-liste og FAQ. Distributionen blev kaldt Personal Home Page Tools, men ændrede senere navn til Personal Home Page Construction Kit. Umiddelbart efter fortsatte Rasmus arbejdet og skrev den grundlæggende funktionalitet til at forbinde til, og arbejde med, en SQL-database. Dette værktøj blev kaldt Form Interpreter, eller blot FI.

PHP er anvendt til at udvikle prominente services som Facebook, Wikipedia, Yahoo, WordPress, Drupal, m.fl. Det er det mest udbredte sprog til dynamiske webløsninger, fordi det har et stort fællesskab (community) i sit bagland. Det har gjort sproget interessant for nybegyndere såvel som øvede.

PHP 3

I den senere om- og sammenskrivning blev det for første gang muligt at indsætte sin dynamiske PHP-kode i HTML-kontekst, frem for i separate filer. PHP 3 var endnu en omskrivning der blev udformet i samarbejde med Andi Gutmans og Zeev Suraski.

De blev lavet som en komplet omskrivning af PHP/FI, da PHP/FI i følge udviklerne var underdimensioneret til at lave et eCommerce-program de arbejdede på til et universitetsprojekt. For at bygge på PHP/FI's eksisterende brugerbase samarbejdede Andi og Zeev med Rasmus, og offentliggjorde PHP 3.0 som den officielle efterfølger til PHP/FI.

PHP 3.0 blev officielt udgivet i juni 1998, efter omkring 9 måneder i offentlig test.

PHP 4

I vinteren 1998 gik Andi og Zeev i gang med en omskrivning af PHP's kerne. Målet var at forbedre ydeevnen af komplekse applikationer. Den nye motor, døbt Zend Engine, opfyldte målene. PHP 4.0 blev baseret på denne motor, og kombineret med en bred vifte af nye funktioner blev det udgivet i maj 2000.

PHP 5

PHP 5 blev udgivet i juli 2004 efter flere års aktiv udvikling og test. Version 5 er drevet af kernen Zend Engine 2.0. I PHP 5 kom der øget fokus på at forbedre OOP-delen, men der fulgte en lang række rettelser og tilføjelser, samt konventionelle modificeringer.

En anden markant ændring var automatisk hensyn til tidszoner, når man anvendte f.eks. date- og strtotime-funktionerne. Fra og med PHP 5 vil parametre og resultater til/fra disse funktioner være påvirket af serverens tidszone. Det betyder, at UNIX-tidspunktet "0" der i GMT tilsvarer 1. januar 1970 kl. 00:00, på danske servere automatisk blev konverteret til kl. 01:00. På trods af denne implementering af mange blev anset som en effektivisering, opstod der mange problemer under migreringen fra PHP 4 til 5, ganske enkelt fordi mange udviklere ikke var opmærksomme på denne ændring. Altså, ville den kode de var skrevet med manuelt hensyn til tidszoner, pludselig være automatisk, og i langt størstedelen af tilfældene derfor returnere ukorrekte resultater.

I PHP 5.1 blev der tilføjet understøttelse af PDO (PHP Data Object), der er et objekt-orienteret, mere sikkert og mere fleksibelt alternativ til den traditionelle MySQL-implementering. Det er ydermere annonceret at grundlæggende MySQL API vil blive fjernet fra PHP. Det vil dog ske ved en langsom udfasning, da man er velvidende omkring, at det stadig er det mest anvendte API til databaseadgang. Udviklere skal derfor begynde at anvende eksempelvis PDO, MySQLi eller tilsvarende alternativer.

I PHP5.3 blev tilføjet muligheden for at lave anonyme funktioner.

PHP 5.4 blev resultatet af det der skulle have været PHP 6. En af de kritiske ændringer i PHP version 5.4 har været beskyttelse mod en hacking-metode kaldt hash inject, hvor data sendt til serveren, er sammensat på en sådan måde, at det vil skabe enorme mængder ekstra beregninger på serveren, når dataene skal sorteres.

Der er også tilføjet et ny typehinting, callable. Det betyder, at man kan påtvinge at det parameter der videregives til en funktion kan kaldes – dvs. det typisk er en funktion.

PHP-teamet har også indført en ny notation for arrays, på formen [1, 2, 3, ...]. Samtidig er det blevet muligt, at gå direkte til en nøgle i et array returneret af en funktion. Eksempler på begge dele demonstreres her:

function test() { return ['Værdi et', 'Værdi to']; } echo test()[0]; // Værdi et

Den såkaldte "error supression", @-tegnet, man kan sætte foran funktioner for at de ikke skal udskrive fejlbeskeder, er blevet forbedret i sin hastighed. Oprindeligt var der tale om at udfase denne konstruktion.

Der kom også understøttelse af traits i OOP.

PHP er også blevet udstyret med en indbygget webserver. Denne er dog ikke beregnet til offentligt brug, men udelukkende til at teste sin kildekode.

Den omstridte og berygtede safe mode er blevet fjernet fuldkomment fra PHP, hvilket blev varslet flere år før annonceringen. I samme ombæring er register_globals og register_long_arrays også fjernet. register_globals har i mange år været til stor bekymring for sikkerheden i PHP-applikationer, da funktionen gør det nemt for uvedkommende at sende variabler med potentielt farligt indhold ind og blande sig i koden. Når register_globals var slået fra, eller som nu fjernet, skal programmøren selv importere udefrakommende variabler, og har derfor bedre kontrol med hvilke der kommer ind, og hvorledes de bliver valideret.

PHP 7

I 2014 og 2015 blev der udviklet en ny stor PHP-version, som blev nummereret PHP 7. Nummereringen af denne version involverede en del debat. Mens PHP 6 Unicode-eksperimentet aldrig var blevet frigivet, henviste flere artikler og bogtitler til PHP 6-navnet, hvilket kunne have forårsaget forvirring, hvis en ny version skulle genbruge navnet. Efter en afstemning blev navnet PHP 7 valgt.

PHP 7 introducerede også nye sprogfunktioner, herunder returnertypeerklæringer til funktioner, som supplerer de eksisterende parametertypeerklæringer og understøtter de skalære typer (integer, float, string, and boolean) i parameter og retur type erklæringer.