PHPMaker has a column for making a field read-only but it works only in edit mode.
A similar column should be provided with the Add column as well.
The Add is supposed to allow user to enter new values, if you make the field read-only, user cannot enter. If you want to provide a default value and then make it read-only. You may use Startup Script, e.g.
$("#x_MyField").attr("readonly", true);
Or, you may simply use some server events for such case.
In Page_Render that belongs to the Add Page, for example, in MyField field (varchar/string) type:
$this->MyField->CurrentValue = "mydefaultvalue";
$this->MyField->Disabled = true;
This will show that field with that default value, and also in the disabled condition.
Then, in Row_Inserting server event, simply insert the following code before return true;
line:
$newRow["MyField"] = "mydefaultvalue";
Please note that you have to define the default value in Row_Inserting server event, otherwise, the default value that already defined before in Page_Render server event of Add Page will be lost when the Add form is submitted.