phpmysql webhosting gebruiken voor apps

Overzicht

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

- Ariën -
Beheerder

- Ariën -

02/12/2021 12:15:51
Anchor link
Succes ermee. Als je wilt kan je ook dit artikel (en de rest) lezen:
http://phptuts.nl/view/45/3/

Een class gebruiken is leuk, maar het is niet bedoeld als verzameling van alle functies die je in je hele site gebruikt. Het is immers een blauwdruk van een object. Dus deel methods/functies onder in de juiste class die verantwoordelijkheid ervoor hoort te hebben.
Gewijzigd op 02/12/2021 12:16:41 door - Ariën -
 
PHP hulp

PHP hulp

25/01/2022 15:34:10
 
Rob Doemaarwat

Rob Doemaarwat

02/12/2021 12:28:09
Anchor link
Maar een class kan soms wel een hele handige manier zijn om "allerlei functies" te groeperen. Zelf heb ik bijvoorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

namespace DoeMaarWat;

/**
 *  String helpers.
 */

class Str{

  /**
   * Returns literally 'true' or 'false'.
   * @param bool $value
   * @return string
   */

  public static function bool($value){
    return $value ? 'true' : 'false';
  }


//enz

}

?>

Icm een autoloader kan ik nu gewoon overal in code roepen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

require('autoload.php');

$bool = \DoeMaarWat\Str::bool($value);

?>

Scheelt weer een hoop geklooi met include/require (once).
Gewijzigd op 02/12/2021 12:29:19 door Rob Doemaarwat
 
- Ariën -
Beheerder

- Ariën -

02/12/2021 13:01:58
Anchor link
Noem het dan een Helper class :P
 
Ozzie PHP

Ozzie PHP

02/12/2021 14:04:22
Anchor link
- Ariën - op 02/12/2021 13:01:58:
Noem het dan een Helper class :P

Ja inderdaad :-)

Hij heeft gewoon z'n achternaam gebruikt :-D

Overigens is een functie als Str::bool($value) nogal onduidelijk. Het lijkt alsof je er een string in moet stoppen, maar dat zou dan altijd 'true' opleveren. Onduidelijk is of bool() iets genereert of teruggeeft. Afgaand op de benaming zou ik denken dat eerste, maar als je de functie bekijkt dan wordt er een letterlijke string 'true' of 'false' teruggegeven. Wat je dus vermoedelijk in feite doet (of wilt doen) is een boolean omzetten naar tekst.

Een veel duidelijkere functie omschrijving zou dan bijvoorbeeld zijn:

Helper::convertBoolToString($bool)

Nu zie je in één oogopslag wat er gebeurt. Je kunt ook een Bool(ean) class maken. Dan krijg je bijvoorbeeld dit:

Bool::convertToString($bool)

Dat is een stuk duidelijker dan Str::bool($value).
 
Rob Doemaarwat

Rob Doemaarwat

02/12/2021 14:19:05
Anchor link
Heel kort (we dwalen af, en het was maar een voorbeeld):
1) Natuurlijk is het niet DoeMaarWat, maar m'n eigen "naam" (3 letters). "Helper" is te algemeen, dan krijg je weer botsingen met andere bibliotheken.
2) Ik heb alle helper functies weer gegroepeerd in meerdere classes, dus dit is de "String helper", vandaar de class naam "Str" ("String" is een reserved word).
3) De functie zet een bool $value om naar een string (zie de doc). We zaten al in de String helper, dus dan is bool wat mij betreft voldoende (ik heb een hekel aan typen + lange code; het is m'n eigen spul, dus ik doe wat ik wil).
 
Ozzie PHP

Ozzie PHP

02/12/2021 14:25:40
Anchor link
>> het is m'n eigen spul, dus ik doe wat ik wil

Als dat voor jou een overtuigend argument is, moet je dat vooral doen. Ik gaf je alleen een tip hoe je iets duidelijker kunt omschrijven.

Vaak wordt in een functienaam een werkwoord opgenomen, zodat duidelijk is welke actie er wordt uitgevoerd.

Als laatste (en dan stop ik ermee), je kunt bijv. een functie name() hebben. Maar wat doet die? Voeg je een werkwoord toe, bijv. getName() of setName(), dan is direct duidelijk wat er gebeurt. Ook als je na 2 jaar de code terugleest.
 
Werner g

werner g

16/12/2021 09:36:08
Anchor link
Inmiddels ben ik al weer een heel eind met mijn inlogpagina. Ik heb uiteindelijk voor een eenvoudiger php script gekozen omdat het anders te moeilijk werd. Ik heb alleen 1 probleem waar ik al een paar dagen tegenaan loop en het niet opgelost kan krijgen.

Access to fetch at 'http//..........login.php' from origin 'http://localhost:*******' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

Volgens mij blokkeert de CORS policy de toegang omdat anders iedereen de database in kan.
Ik lees heel veel informatie over dit onderwerp maar weet niet wat voor mij van toepassing is.
- Kan/moet ik CORS policy uitschakelen?
- Moet ik nog een server maken met node.js?
- Moet ik een CORS plugin installeren?
- Of tocht wat anders....

Heeft iemand ervaring met dit onderwerp?
 
- Ariën -
Beheerder

- Ariën -

16/12/2021 09:47:16
Anchor link
- Als je beheerder bent van de doelhost, is het handig als je CORS toestaat. Maar wat is de precieze situatie dan?
- Waarom denk je dat nodig te hebben?
- Een CORS-plugin?? Voor wat?
Gewijzigd op 16/12/2021 09:51:00 door - Ariën -
 
Werner g

werner g

16/12/2021 10:16:51
Anchor link
Via react native maak ik een app. De inloggegeven sla ik op bij de database van mijn webhosting. Hiervoor heb ik een api in php geschreven en die draait nu ook in productie bij hostnet.

Als ik de app test (via google chrome) en de signup gegevens invul krijg ik deze foutmelding.

Access to fetch at 'http//..........login.php' from origin 'http://localhost:*******' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

Als lake weet ik niet zo goed wat ik nu moet doen.
 
- Ariën -
Beheerder

- Ariën -

16/12/2021 10:21:06
Anchor link
Heb je al op Google gekeken? Als ik de foutmelding, of een deel daarvan, invul in het zoekveld heb ik al een hoop resultaten.

Toevoeging op 16/12/2021 10:22:41:

Voor de rest heeft niks meer met phpMyAdmin te maken. Dus als je verder ergens op vastloopt raad ik een nieuw topic aan.

Dit topic sluit ik om de boel overzichtelijk te houden.
Gewijzigd op 16/12/2021 10:23:06 door - Ariën -
 

Pagina: « vorige 1 2

 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.