Swyddogaethau yn PHP

F
SSL dibynadwy o ddim ond $3.44
Datganiadau amodol yn PHP
Araeau yn PHP

Mae swyddogaethau yn cynyddu darllenadwyedd ac ailddefnyddioldeb y cod. Heb ddefnyddio swyddogaethau, mae llawer o ailadrodd cod yn digwydd. Yn y tiwtorial hwn, byddwch yn dysgu popeth sydd i'w wybod am swyddogaethau PHP.

Beth yw Swyddogaeth?

Swyddogaethau PHP yw ei bwer go iawn. Mae dau gategori o swyddogaethau yn PHP.

  1. Swyddogaethau Adeiledig: Mae PHP yn darparu mwy na 1000 o swyddogaethau adeiledig. Fodd bynnag, Mae'r swyddogaethau hyn yn barod i'w defnyddio. 'Ch jyst angen i chi eu galw wrth eu henw. Gallwch fynd trwy'r swyddogaethau adeiledig PHP yma.
  2. Swyddogaethau Custom: Gallwch ddiffinio'ch swyddogaethau eich hun a'u galw yn unrhyw le yn y cod. Yn yr erthygl hon, byddwn yn siarad am y swyddogaethau arfer. Swyddogaethau personol fel y'u gelwir hefyd yn swyddogaethau wedi'u diffinio gan ddefnyddwyr.

Swyddogaethau a Ddiffiniwyd gan Ddefnyddwyr yn PHP

Yn yr adran hon, byddwn yn dysgu sut i ddatgan a diffinio ein swyddogaethau ein hunain yn PHP. Cyn cloddio i mewn iddo, gadewch i ni wybod am rai ffeithiau allweddol am swyddogaethau PHP.

  • Bloc o ddatganiadau yw swyddogaeth. Gellir ei ddefnyddio dro ar ôl tro yn unrhyw le yn y cod.
  • Pan fydd tudalen we yn ail-lwytho, ni chaiff y swyddogaethau php eu galw'n awtomatig.
  • Fe'i gweithredir pan elwir yn unrhyw le.

Sut i ddatgan swyddogaeth wedi'i diffinio gan ddefnyddwyr yn PHP?

I ddatgan swyddogaeth PHP wedi'i haddasu, defnyddiwch y gystrawen gyffredinol ganlynol.

<?php
function functionName() {
  code block related to this function;
}
?>

Er enghraifft

<?php
function myFunc() {
  echo "Hello world!";
}
myFunc(); // call tge function
?>

Esboniad o'r enghraifft

  • Yn yr enghraifft uchod, mae'r swyddogaeth yn cael ei datgan gan ddefnyddio allweddair swyddogaeth. Ar ôl hynny, mae swyddogaeth cromfachau crwn () yn nodi dechrau'r swyddogaeth.
  • Mae bloc cod y swyddogaeth yn dechrau gyda {ac yn gorffen gyda}.
  • Mae angen datganiad dychwelyd yn y swyddogaeth, fel arall mae'n taflu gwall.

Dadleuon Swyddogaeth

Gelwir y paramedrau y tu mewn i'r cromfachau rownd swyddogaeth yn ddadleuon swyddogaeth. Gall dadleuon swyddogaethau fod yn sengl neu'n luosog. Mae dadleuon swyddogaeth lluosog yn cael eu gwahanu gan atalnodau.

Nodyn: Nid yw enwau swyddogaeth yn sensitif i gas. Er enghraifft, mae swyddogaeth abc () a swyddogaeth ABC () yn wahanol.

Mae dadleuon swyddogaeth yn union fel y newidynnau. Rhoddir y dadleuon mewn cromfachau crwn y swyddogaeth. Gall fod un neu fwy o ddadleuon, wedi'u gwahanu gan atalnod. Gellir cyrchu'r dadleuon hyn a'u haddasu y tu mewn i'r swyddogaeth.

Enghraifft o swyddogaeth ag un ddadl

<?php
function familyName($fname) {
  echo "$fname Refsnes.<br>";
}

familyName("Jani");
familyName("Hege");
familyName("Stale");
familyName("Kai Jim");
familyName("Borge");
?>

Yn yr enghraifft uchod, mae'r un yn derbyn un ddadl ac yn ei chyd-daro â'r llinyn. Yna gelwir y swyddogaeth hon bum gwaith, gyda gwahanol werthoedd dadl. Fe welwch y bydd y swyddogaeth yn argraffu gwerth y ddadl ynghyd â'r llinyn.

Enghraifft o swyddogaeth gyda dwy ddadl

<?php
function familyName($fname, $year) {
  echo "$fname Refsnes. Born in $year <br>";
}

familyName("Hege", "1975");
familyName("Stale", "1978");
familyName("Kai Jim", "1983");
?>

Yn yr enghraifft uchod, mae'r swyddogaeth yn derbyn dwy ddadl, wedi'u gwahanu gan atalnod. Mae'r dull galw yr un peth â'r hyn a ddisgrifir yn yr enghraifft uchod. Fodd bynnag, mae angen i ni basio dau werth i'r swyddogaeth wrth ei alw.

Beth os byddwch chi'n trosglwyddo dadleuon annigonol i swyddogaeth?

<?php declare(strict_types=1); // strict requirement
function setHeight(int $minheight = 50) {
  echo "The height is : $minheight <br>";
}

setHeight(350);
setHeight(); // will use the default value of 50
setHeight(135);
setHeight(80);
?>

Os ceisiwch alw swyddogaeth heb ddadleuon digonol, bydd yn rhoi gwall. Fodd bynnag, mae yna ryw ffordd bob amser i osgoi hyn. Fe'i disgrifir isod.

Sut i ddefnyddio'r ddadl gwerth diofyn mewn swyddogaethau - PHP

Gall swyddogaeth neilltuo gwerth diofyn i'r ddadl. Mae'n caniatáu galw'r swyddogaeth heb basio'r ddadl honno. Fe’i dangosir isod,

Yn yr enghraifft uchod, rydym wedi galw'r swyddogaeth heb yr ail baramedr. Cymerir gwerth yr ail ddadl o'r gwerth diofyn sy'n 50.

Pasio dadl swyddogaethau PHP trwy gyfeirio

Yn yr adran uchod, rydym wedi dysgu am basio'r newidynnau trwy gyfeirio. Os defnyddir newidyn heb y cyfeirnod, ni fyddwch yn gallu addasu'r gwerth y tu mewn i'r swyddogaeth. Oherwydd, yn yr achos hwn, mae'r OS yn creu dau gopi o'r ddadl. Newid gwerth dadl y tu mewn i'r swyddogaeth ar newid yr un copi. Ar y llaw arall. os caiff newidyn ei basio trwy gyfeirnod (gan ddefnyddio & llofnodi), nid yw'n creu sawl copi. Felly, bydd newid y gwerth y tu mewn i'r swyddogaethau yn newid gwerth y ddadl wreiddiol.

Dychwelwch o swyddogaethau PHP

Mae'r datganiad dychwelyd yn atal cyflawni'r swyddogaeth ac yn dychwelyd y gwerth.

Er enghraifft

<?php declare(strict_types=1); // strict requirement
function sum(int $x, int $y) {
  $z = $x + $y;
  return $z;
}

echo "5 + 10 = " . sum(5, 10) . "<br>";
echo "7 + 13 = " . sum(7, 13) . "<br>";
echo "2 + 4 = " . sum(2, 4);
?>

Yn yr enghraifft uchod, mae dwy ddadl dros y swyddogaeth hon. Maent o'r math cyfanrif. Dychwelir eu swm. Gelwir y swyddogaeth gyda gwahanol werthoedd dadleuon os arsylwir y gwerth dychwelyd.

Rhaid i fath y swyddogaeth a'r gwerth dychwelyd fod o'r un math. Er enghraifft.

<?php 
declare(strict_types=1); // strict requirement
function addNumbers(float $a, float $b) : float {
  return $a + $b;
}
echo addNumbers(1.2, 5.2);
?>

datgan (strict_types = 1) yn php

Yn PHP, ysgrifennwch y llinell uchod ar ben y ffeil PHP. Mae'n gwneud i'r math o ddadleuon swyddogaeth ddilyn yn llym. Mae'n helpu i osgoi unrhyw ddatganiadau annilys, fel swm rhif a rhif llinyn. Er enghraifft.

<?php
function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days");
// since strict is NOT enabled "5 days" is changed to int(5), and it will return 10
?>

I gael cyfeiriad swyddogol PHP 8 at swyddogaethau, cliciwch yma.

Nawr eich bod yn gwybod hanfodion swyddogaethau, byddwn yn trafod nesaf Arrays.

Datganiadau amodol yn PHP
Araeau yn PHP

Rhwydwaith Tiwtoriaid

Rhannu hyn

Dysgwch PHP o A i Z